home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr18 / 1st_111.zip / ADVANCED.DOC < prev    next >
Text File  |  1993-05-23  |  179KB  |  4,929 lines

  1.  
  2.  
  3.  
  4.  
  5.       ┌──────────────────────────────────────────────────────────────────┐
  6.       │                                                                  │
  7.       │                                                                  │
  8.       │      ┌────────────────────────────────────────────────────┐      │
  9.       │      │                                                    │      │
  10.       │      │                                                    │      │
  11.       │      │                                                    │      │
  12.       │      │                                                    │      │
  13.       │      │                                                    │      │
  14.       │      │                                                    │      │
  15.       │      │                                                    │      │
  16.       │      │                                                    │      │
  17.       │      │                                                    │      │
  18.       │      │                                                    │      │
  19.       │      │                                                    │      │
  20.       │      │                                                    │      │
  21.       │      │                                                    │      │
  22.       │      │                                                    │      │
  23.       │      │                 ▄██                                │      │
  24.       │      │                  ██ ▄▄▄▄▄▄ ▄▄▄▄▄▄                  │      │
  25.       │      │                  ██ ██▀▀▀▀ ▀▀██▀▀                  │      │
  26.       │      │                  ██ ▀▀▀▀██   ██                    │      │
  27.       │      │                  ██ ██████   ██                    │      │
  28.       │      │                                                    │      │
  29.       │      │                 1stReader for DOS                  │      │
  30.       │      │             The Advanced User's Guide              │      │
  31.       │      │                                                    │      │
  32.       │      │                                                    │      │
  33.       │      │                    Entire work                     │      │
  34.       │      │            Copyright 1993 by Mark Herring          │      │
  35.       │      │                All Rights Reserved                 │      │
  36.       │      │                                                    │      │
  37.       │      │                                                    │      │
  38.       │      │                                                    │      │
  39.       │      │                                                    │      │
  40.       │      │                                                    │      │
  41.       │      │                                                    │      │
  42.       │      │                                                    │      │
  43.       │      │                                                    │      │
  44.       │      │                                                    │      │
  45.       │      │                                                    │      │
  46.       │      │                                                    │      │
  47.       │      │                                                    │      │
  48.       │      │                                                    │      │
  49.       │      │                     Sparkware                      │      │
  50.       │      │                Post Office Box 386                 │      │
  51.       │      │           Hendersonville, Tennessee   37077        │      │
  52.       │      │                                                    │      │
  53.       │      │                                                    │      │
  54.       │      │                                                    │      │
  55.       │      └────────────────────────────────────────────────────┘      │
  56.       │                                                                  │
  57.       │                                                                  │
  58.       └──────────────────────────────────────────────────────────────────┘
  59.  
  60.  
  61.  
  62.  
  63.                                     NOTICE
  64.      
  65.          EXCEPT FOR THE EXPRESS WARRANTY SET FORTH ABOVE, SPARKWARE
  66.          GRANTS NO OTHER WARRANTIES, EXPRESSED OR IMPLIED, BY STATUE
  67.          OR OTHERWISE, REGARDING THE DISK, PROGRAMS AND RELATED
  68.          MATERIALS, THEIR FITNESS FOR ANY PURPOSE, THEIR QUALITY,
  69.          THEIR MERCHANTABILITY, OR OTHERWISE.
  70.      
  71.          THE LIABILITY OF SPARKWARE UNDER THE WARRANTY SET FORTH
  72.          ABOVE SHALL BE LIMITED TO THE AMOUNT PAID BY THE CUSTOMER
  73.          FOR THE PRODUCT.  IN NO EVENT SHALL SPARKWARE BE LIABLE FOR
  74.          ANY SPECIAL, CONSEQUENTIAL, OR OTHER DAMAGES FOR BREACH OF
  75.          WARRANTY.
  76.      
  77.          SPARKWARE RESERVES THE RIGHT TO MAKE ANY CHANGES TO THESE
  78.          PROGRAMS, DOCUMENTATION AND CUSTOMER SUPPORT PLANS AT ANY
  79.          TIME WITHOUT PRIOR NOTICE.
  80.  
  81.          THIS SOFTWARE PROGRAM IS A PROPRIETY PRODUCT OF SPARKWARE
  82.          AND IS PROTECTED BY COPYRIGHTS AND INTERNATIONAL TREATIES.
  83.          YOU MUST TREAT THIS SOFTWARE LIKE ANY OTHER COPYRIGHTED
  84.          MATERIAL, EXCEPT THAT YOU MAY MAKE AN ARCHIVAL COPY OF THE
  85.          SOFTWARE FOR EACH COPY THAT IS LICENSED TO YOU.  YOU MAY
  86.          DISTRIBUTE THE SOFTWARE TO OTHERS SO LONG AS (A) THE
  87.          1ST.KEY OR QMAIL4.KEY FILE IS NOT DISTRIBUTED, (B) THE
  88.          SOFTWARE IS DISTRIBUTED UNMODIFIED.  YOU MAY NOT DECOMPILE,
  89.          DISASSEMBLE, REVERSE ENGINEER, COPY, TRANSFER, OR OTHERWISE
  90.          USE OR MODIFY THIS SOFTWARE EXCEPT AS STATED HEREIN.
  91.      
  92.          SPARKWARE GRANTS YOU THE RIGHT TO USE THIS SOFTWARE FOR
  93.          TRIAL PERIOD NOT TO EXCEED THIRTY (30) DAYS.  USE AFTER
  94.          THIRTY DAYS REQUIRES REGISTRATION AS DOCUMENTED IN THIS
  95.          MANUAL.
  96.      
  97.          1stReader
  98.          Entire work Copyright 1993 by Mark Herring
  99.          All Rights Reserved
  100.      
  101.          Sparkware
  102.          Post Office Box 386
  103.          Hendersonville, Tennessee   37077-0386
  104.  
  105.          (615) 230-8822    24 hour support bulletin board system
  106.          (615) 230-MAIL    Office  (10-12, 1-5 central time weekdays)
  107.  
  108.  
  109.  
  110.         TABLE OF CONTENTS
  111.  
  112.         DOS command line switches................................     3
  113.                 /CALL............................................     3
  114.                 /DAY.............................................     3
  115.                 /DEBUG...........................................     3
  116.                 /MAXLINES........................................     4
  117.                 /MPU401..........................................     5
  118.                 /NON.............................................     5
  119.                 /NOSCAN..........................................     5
  120.                 /ONLYREPS........................................     5
  121.                 /QWK.............................................     6
  122.                 /REP.............................................     6
  123.                 /SETUP...........................................     6
  124.                 /SHOWDEL.........................................     6
  125.                 /SILENT..........................................     7
  126.                 /SLOW............................................     7
  127.                 /SWAP............................................     7
  128.                 /TIME............................................     7
  129.                 /XON.............................................     8
  130.         Creating 1stReader LOAD files............................     9
  131.         1stReader Support Files..................................    10
  132.                 .BAT (or .BTM) files.............................    11
  133.                 $$MAIL.BAT.......................................    11
  134.                 $$REPLY.BAT......................................    12
  135.                 $$CALL.BAT.......................................    12
  136.                 $$CHECK.BAT......................................    12
  137.                 $$TERM.BAT.......................................    12
  138.                 $$BATCH.BAT......................................    13
  139.                 $$START.BAT and $$END.BAT........................    13
  140.                 $$REPLIES.BAT....................................    13
  141.                 $$FILER.BAT......................................    13
  142.                 $$EXIT.BAT.......................................    13
  143.                 $$SPELL.BAT......................................    14
  144.                 $$CNAMES.BAT.....................................    14
  145.                 $$Fxx.BAT........................................    14
  146.                 $$SHELL.BAT......................................    14
  147.                 .CMD and .LST files..............................    15
  148.                 $$1ST.CMD........................................    15
  149.                 $$ppff.CMD.......................................    16
  150.         Multiple EDITORS and LIST programs.......................    16
  151.         SHELL modifiers..........................................    17
  152.                 /API.............................................    17
  153.                 /CGA, /EGA and /VGA..............................    18
  154.                 /CLS and /NOCLS..................................    18
  155.                 /CURSOR_ON and /CURSOR_OFF.......................    18
  156.                 /DISPLAY.........................................    18
  157.                 /EXPORT..........................................    19
  158.                 /FONT............................................    19
  159.                 /IN..............................................    19
  160.                 /OUT.............................................    19
  161.                 /LIST............................................    20
  162.                 /MACRO...........................................    20
  163.                 /MSGTEXT.........................................    20
  164.                 /NS and /SS......................................    21
  165.                 /NULL and /NONULL................................    21
  166.                 /PAUSE...........................................    21
  167.                 /SCRNSAVE........................................    21
  168.                 KEYBOARD.$$$.....................................    21
  169.                 MESSAGE.$$$......................................    22
  170.                 LIST.$$$.........................................    22
  171.                 <confname>.TMP files.............................    22
  172.                 .CMD controls....................................    23
  173.  
  174.  
  175.  
  176.  
  177.         Features.................................................    23
  178.                 FEATURE=CALL.....................................    23
  179.                 FEATURE=MAIL.....................................    23
  180.                 FEATURE=MANAGER..................................    24
  181.                 FEATURE=SETUP....................................    24
  182.                 FEATURE=SNAPSHOT.................................    24
  183.                 FEATURE=TAGLINES.................................    24
  184.                 FEATURE=TERMINAL.................................    24
  185.         MultiMedia Extensions (MME)..............................    25
  186.                 .MME files.......................................    26
  187.                 Special files....................................    27
  188.                 $$ALARM..........................................    27
  189.                 $$CHKPRT.........................................    27
  190.                 $$EXIT...........................................    27
  191.                 $$H-<help_recnum>................................    27
  192.                 $$HELP...........................................    27
  193.                 $$INTRO..........................................    27
  194.                 \1ST\BBS\<confnum>...............................    27
  195.                 NEWS.............................................    28
  196.                 NEWFILES.........................................    28
  197.                 SERVICES.........................................    28
  198.                 LEAVING..........................................    28
  199.                 $$TRANS..........................................    28
  200.         The 1stReader Applications Program Interface (API).......    29
  201.                 1stReader Integer API table......................    29
  202.                 1stReader Long Integer API table.................    34
  203.                 1stReader String API table.......................    35
  204.                 @Variables supported by 1stReader................    38
  205.         1stReader script language................................    40
  206.                 ABORT............................................    40
  207.                 API..............................................    40
  208.                 AUTOEXIT.........................................    40
  209.                 BREAK............................................    41
  210.                 CALL.............................................    41
  211.                 CAPTURE..........................................    41
  212.                 CHECKTIME........................................    41
  213.                 CLS..............................................    41
  214.                 COMMENT..........................................    41
  215.                 COUNT............................................    41
  216.                 DEBUG............................................    42
  217.                 DISCONNECT.......................................    42
  218.                 DOWNLOAD.........................................    42
  219.                 EDIT.............................................    42
  220.                 EXIT.............................................    42
  221.                 FLAG.............................................    43
  222.                 FOUND=...........................................    43
  223.                 GOSUB............................................    43
  224.                 GOTO.............................................    43
  225.                 HANGUP...........................................    43
  226.                 HELP.............................................    43
  227.                 IF...............................................    44
  228.                 KEYSTROKE=.......................................    44
  229.                 KILL.............................................    44
  230.                 LIST.............................................    44
  231.                 LOCATE...........................................    44
  232.                 LOCKLINE.........................................    45
  233.                 LOOKFOR..........................................    45
  234.                 MME..............................................    45
  235.                 NEWFILES.........................................    45
  236.                 NEW_PASSWORD.....................................    46
  237.                 PAUSE............................................    46
  238.  
  239.  
  240.  
  241.  
  242.                 PLAY.............................................    46
  243.                 PROMPT...........................................    46
  244.                 REQ_FILE.........................................    46
  245.                 REQ_SETFILE......................................    46
  246.                 REQ_NEXT.........................................    46
  247.                 REQ_DONE.........................................    47
  248.                 REQ_CONF.........................................    47
  249.                 REQ_SET..........................................    47
  250.                 REPLIES..........................................    47
  251.                 RETURN...........................................    47
  252.                 RUN..............................................    47
  253.                 SET_FLAG.........................................    47
  254.                 SET_PASSWORD.....................................    48
  255.                 SHOW.............................................    48
  256.                 SWITCH...........................................    48
  257.                 TERMINAL.........................................    49
  258.                 TERSE............................................    49
  259.                 TRANSMIT.........................................    49
  260.                 TRANSMIT.........................................    49
  261.                 TIMEOUT..........................................    50
  262.                 UPLOAD...........................................    50
  263.                 WAITFOR..........................................    50
  264.                 WEEKDAY..........................................    50
  265.                 Special @variables...............................    51
  266.                 Special characters...............................    52
  267.         Hints and Tips...........................................    53
  268.                 Support for .BIN and .B1N files..................    53
  269.                 The WELCOME file.................................    53
  270.                 Using KEYBOARD.$$$ from the internal editor......    54
  271.                 Pre-Print and Post-Print strings.................    54
  272.                 Printer definition...............................    54
  273.                 Create your OWN help files.......................    54
  274.                 1stReader is network ready.......................    55
  275.                 GO.ASC, GO.ANS, GO.BIN, GO.B1N...................    55
  276.                 Automatic DOORWAY ON and DOORWAY OFF modes.......    56
  277.                 "Header" files...................................    56
  278.                 Auto sensing dialog boxes........................    57
  279.                 "Ok" and "Cancel" buttons........................    57
  280.                 Attention John Hancock fans!.....................    57
  281.                 Specialized conference files.....................    58
  282.                 Support for DOOR.ID..............................    58
  283.                 Downloading files................................    58
  284.                 Longer signatures................................    58
  285.                 Multiple signatures..............................    59
  286.                 Support for the "1ST" file.......................    59
  287.                 Automatic SuperShell.............................    59
  288.                 Nonstandard serial ports.........................    60
  289.                 New commands supported in DOOR.ID................    60
  290.                 LIST is restricted...............................    60
  291.                 Robocomm-named packets supported.................    61
  292.                 QMAIL4 is assumed................................    61
  293.                 Three button mice users..........................    61
  294.                 Using SPACE BAR and SHIFT+ENTER..................    61
  295.                 Protect those 'questionable' taglines............    62
  296.                 'Hotkey' your .CMD and .LST entries..............    62
  297.                 Entry fields are accessible......................    62
  298.                 Sysops can use Qmail Door in DOS using 1stReader.    63
  299.                 Control characters in .LST files and KEYBOARD.$$$    63
  300.  
  301.  
  302.  
  303.  
  304.                 $$DIAL.SCR supported.............................    64
  305.                 Addition bulletin board systems supported........    64
  306.                 Carriage returns in the modem init string........    64
  307.                 SERVICES.NEW.....................................    64
  308.                 Clear all entry fields with one keystroke........    65
  309.                 QSZ supports 'crash-recovery'....................    65
  310.                 Assign different prefixes to telephone numbers...    65
  311.                 Access interrupts from DOS command line functions    66
  312.                 NAPLPS support is now available..................    67
  313.                 Make temporary changes to your 1stReader setup...    67
  314.                 Tagline support from the terminal section........    67
  315.                 The 'CONFIRMATION' field.........................    68
  316.                 The .COPY command................................    68
  317.                 1stReader automatically aborts a script..........    68
  318.                 Picklist notices.................................    68
  319.                 Scroll quickly through large messages............    69
  320.                 Restricting some .CMD functions..................    69
  321.                 Locate a file inside your system's PATH statement    69
  322.                 Move files automatically into the BBS directory..    69
  323.                 Disconnect immediately after an upload/download..    70
  324.                 Modify the 1stReader API after a DOS shell.......    70
  325.                 Usenet message headers...........................    70
  326.                 Alias signatures.................................    71
  327.                 The virtual keyboard.............................    71
  328.                 The EXTRA FEATURE button.........................    71
  329.                 Display files directly from a .CMD file..........    72
  330.                 '$<macro>' now available in ANSI files...........    72
  331.                 Sensing color attributes.........................    73
  332.                 The NEWS.LST file................................    73
  333.                 The ATTACHED.LST file............................    73
  334.                 Save some disk space.............................    73
  335.                 The INSTALL module...............................    74
  336.                 Creating offline help for bulletin boards........    74
  337.  
  338.  
  339.  
  340.  
  341.          Please Note
  342.          -----------
  343.  
  344.          Except for the express warranty set forth, Sparkware grants
  345.          no other warranties, expressed or implied, by statue or
  346.          otherwise, regarding the disk, programs and related
  347.          materials, their fitness for any purpose, their quality,
  348.          their merchantability, or otherwise.
  349.  
  350.          The liability of Sparkware under the warranty set forth above
  351.          shall be limited to the amount paid by the customer for the
  352.          product.  In no event shall Sparkware be liable for any
  353.          special, consequential, or other damages for breach of
  354.          warranty.
  355.  
  356.          Sparkware reserves the right to make any changes to these
  357.          programs, documentation and customer support plans at any
  358.          time without prior notice.
  359.  
  360.          This software program is a propriety product of Sparkware and
  361.          is protected by copyrights and international treaties.  You
  362.          must treat this software like any other copyrighted material,
  363.          except that you may make an archival copy of the software for
  364.          each copy that is licensed to you.  You may distribute the
  365.          software to others so long as:
  366.  
  367.                  A) The 1ST.KEY or QMAIL4.KEY file(s) is not
  368.                     distributed.
  369.  
  370.                  B) The software is distributed unmodified.
  371.  
  372.          You may not decompile, disassemble, reverse engineer, copy,
  373.          transfer or otherwise use or modify this software except as
  374.          stated herein.
  375.  
  376.          Sparkware grants you the right to use this software for a
  377.          trial period not to exceed THIRTY (30) days.  Use after
  378.          thirty days requires registration.
  379.  
  380.  
  381.  
  382.          Qmail 1stReader
  383.          Entire work Copyright 1993 by Mark Herring
  384.          All Rights Reserved
  385.  
  386.          Sparkware
  387.          Post Office Box 386
  388.          Hendersonville, Tennessee   37077-0386
  389.  
  390.          (615) 230-8822    24 hour support bulletin board system
  391.          (615) 230-MAIL    Office  (10-12, 1-5 central time weekdays)
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.                                     Page 1 
  400.  
  401.  
  402.  
  403.          This manual is designed to help the advanced 1stReader access
  404.          all of the features found in the 1stReader offline mail
  405.          system.  If you are new to 1stReader or offline mail readers
  406.          in general, we strongly recommend that you do not use this
  407.          guide until you are familiar with 1stReader.
  408.  
  409.          1stReader was designed to be easily understood by the novice
  410.          user.  However, there are plenty of features available for
  411.          the advanced power user "under the hood".  The design
  412.          philosophy behind the 1stReader system was to provide an
  413.          interface for novice users that they could easily understand
  414.          and use.  The power user features are hidden underneath this
  415.          interface and you have the ability to access them.
  416.  
  417.          Remember, you do NOT need this guide in order to use
  418.          1stReader.  However, you can change the way 1stReader
  419.          operates by following the tips and suggestions in this guide.
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.                                     Page 2 
  462.  
  463.  
  464.  
  465.          DOS command line switches
  466.          -------------------------
  467.  
  468.          1stReader supports a number of DOS command line switches you
  469.          can use at startup.  These switches, when placed after the
  470.          DOS command 1ST.EXE, allow you to change how 1stReader is
  471.          configured and operates.  You can 'stack' as many command
  472.          line switches as you wish.  You can also create files that
  473.          contain the DOS command line switches that can be easily
  474.          loaded.
  475.  
  476.  
  477.          /CALL: <list of systems>
  478.          -----------------------.
  479.          Tells 1stReader to immediately begin calling <list of
  480.          systems> from the DOS command prompt.  This switch lets you
  481.          call bulletin board systems directly from a batch file
  482.          instead of navigating through the 1stReader user interface.
  483.  
  484.          Example:        1ST /CALL: SPARKY EXECNET CHANNEL1
  485.  
  486.  
  487.          /DAY: <days to call>
  488.          --------------------
  489.          The DAY switch lets you tell 1stReader which days of the week
  490.          to call a bulletin board system.  This switch is designed for
  491.          users who want 1stReader call and receive new messages from
  492.          inside a batch file that runs nightly on your system.  Great
  493.          for sysops who use 1stReader to make their nightly mail runs.
  494.  
  495.          The days of the week are represented by numbers.  Sunday=1,
  496.          Monday=2, Tuesday=3, Wednesday=4, Thursday=5, Friday=6 and
  497.          Saturday=7.  This example shows how to setup 1stReader so it
  498.          will only call these systems on Sunday, Tuesday and Thursday:
  499.  
  500.          Example:        1ST /DAY: 135 /CALL: system1 system2 system3
  501.  
  502.  
  503.          /DEBUG
  504.          ------
  505.          This command line switch will create various 'debugging'
  506.          files that can tell you how 1stReader is operating.
  507.          Depending on what you are doing within the reader, up to
  508.          three debugging files can be created in your 1stReader system
  509.          subdirectory.  These files are:
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.                                     Page 3 
  524.  
  525.  
  526.  
  527.                  1ST.DBG
  528.  
  529.                  This file contains information about your system and
  530.                  how it was operating while executing 1stReader.  It
  531.                  will contain the following data on each line in the
  532.                  file:
  533.  
  534.                          Free RAM available
  535.                          Free string space available
  536.                          Free stack space available
  537.                          Next file handle number to allocate
  538.                          Time of execution
  539.                          Description of operation
  540.  
  541.                  SCRIPTS.DBG
  542.  
  543.                  This file contains a capture of the scripts executed
  544.                  by 1stReader when you call a bulletin board system.
  545.                  All @variables will be translated in this file so it
  546.                  provides an accurate record of how scripts were
  547.                  executed by 1stReader.
  548.  
  549.                  SERIAL.DBG
  550.  
  551.                  This file contains characters received by 1stReader
  552.                  from your modem when calling a bulletin board system.
  553.  
  554.  
  555.          /MAXLINES: <maximum number of lines per message>
  556.          ------------------------------------------------
  557.          The internal editor inside 1stReader lets you create replies
  558.          of up to 200 lines each.   If you decide to use an external
  559.          editor then the size of your replies can be as large as you
  560.          wish.
  561.  
  562.          1stReader 'breaks' your replies at 99 lines per message.
  563.          This is due to the limits imposed by some bulletin board
  564.          software and older offline mail readers still in use today.
  565.          However, you can adjust the size of the reply by using the
  566.          /MAXLINES command line switch.
  567.  
  568.          Example:        1ST /MAXLINES: 200
  569.  
  570.          This command would cause 1stReader to break long replies at
  571.          every 200 lines.  If you wish to break a long message at the
  572.          end of a paragraph you can insert ".PG" after the line you
  573.          wish to break.  ".PG" is not included in your reply when
  574.          transmitted to the bulletin board system.
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.                                     Page 4 
  586.  
  587.  
  588.  
  589.          /MPU401
  590.          -------
  591.          If you have a MPU401-compatible MIDI device connected to your
  592.          computer then this command will make 1stReader output .MID
  593.          files to your MIDI device rather than using a sound card.
  594.          Note that your MIDI interface must be connected to port 330h.
  595.  
  596.  
  597.          /NON
  598.          ----
  599.          1stReader uses "RTS" checking to determine when your modem is
  600.          ready to send characters to the remote system.  You can
  601.          disable ALL checking by using the /NON switch.
  602.  
  603.          Example:        1ST /NON
  604.  
  605.  
  606.          /NOSCAN
  607.          -------
  608.          If you have turned on the multimedia switch inside 1stReader
  609.          then anytime you display a text file the reader will try to
  610.          locate a .MME, .MID, .CMF or .VOC file that matches the
  611.          filename being displayed.  The "/NOSCAN" switch stops
  612.          1stReader from scanning for these sound files when displaying
  613.          text files.
  614.  
  615.  
  616.          /ONLYREPS: <list of systems>
  617.          ----------------------------
  618.          This DOS command line switch works just like the /CALL:
  619.          switch except that it will only call systems in the <list of
  620.          systems> that have message replies waiting to transmit.
  621.  
  622.          Example:        1ST /ONLYREPS: SPARKY EXECNET CHANNEL1
  623.  
  624.          If the mail sites SPARKY and CHANNEL1 have replies waiting to
  625.          be transmitted back to these systems, 1stReader will call
  626.          these systems.  If EXECNET does not have replies waiting to
  627.          be transmitted then the reader will skip calling EXECNET.
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.                                     Page 5 
  648.  
  649.  
  650.  
  651.          /QWK: <file extension>
  652.          ----------------------
  653.          Since 1stReader is designed to work with QWK formatted mail
  654.          packets, by default it looks for mail packets using the "Q*"
  655.          file extension.  You can override this extension by using the
  656.          /QWK command line switch.
  657.  
  658.          Example:        1ST /QWK: OPX
  659.  
  660.          Why would you want to change the file extension?  Later in
  661.          this guide we cover two batch files named "$$INTRO.BAT" and
  662.          "$$EXIT.BAT".  Programmers can use these files to create
  663.          programs that convert other non-QWK mail packets to and from
  664.          the QWK format.  The /QWK command line switch lets them tell
  665.          1stReader which type of mail packet to scan for in the list
  666.          of packets
  667.          on file.
  668.  
  669.  
  670.          /REP: <file extension>
  671.          ----------------------
  672.          This command line switch works just like the /QWK switch
  673.          except that it lets you change the default extension for mail
  674.          reply packets.  "REP" is the extension used for QWK mail
  675.          packets, but by using this switch you can change the
  676.          extension to any value desired.
  677.  
  678.          Example:        1ST /REP: TMP
  679.  
  680.  
  681.          /SETUP: <filespec>
  682.          ------------------
  683.          You can load a different 1stReader setup file (.SET) from the
  684.          DOS command line using this switch.
  685.  
  686.          Example:        1ST /SETUP: NETWORK.SET
  687.  
  688.  
  689.          /SHOWDEL
  690.          --------
  691.          If this command line switch is used then whenever you delete
  692.          a reply in 1stReader the message will remain in the REPLIES
  693.          conference until you close the mail packet.   Normally, when
  694.          you delete a reply in the REPLIES conference, 1stReader will
  695.          immediately remove it from the list of replies.  This switch
  696.          keeps the message in the REPLIES conference so you can
  697.          undelete it later in the same session.
  698.  
  699.          Example:        1ST /SHOWDEL
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.                                     Page 6 
  710.  
  711.  
  712.  
  713.          /SILENT
  714.          -------
  715.          Sometimes it might be nice if you could turn off the noises
  716.          and beeps 1stReader makes.  You could either be at the office
  717.          or doing a late night mail run at 3:00 am.  In either case,
  718.          use this command line switch to make 1stReader totally
  719.          silent - no matter how you have configured the reader.
  720.  
  721.          Example:        1ST /SILENT
  722.  
  723.  
  724.          /SLOW: <milliseconds>
  725.          ---------------------
  726.          1stReader pauses five milliseconds for each ANSI position
  727.          statement it receives while displaying color files and
  728.          messages.  If you have a faster computer this pause might not
  729.          be long enough.  You can use this DOS command line switch to
  730.          vary the number of milliseconds to pause.
  731.  
  732.          Example:        1ST /SLOW: 15
  733.  
  734.  
  735.          /SWAP: <filespec>
  736.          -----------------
  737.          1stReader's SuperShell system swaps the memory being used
  738.          into either EMS memory (if enough is available) or to a disk
  739.          file.  Normally, this disk file is named $$1ST.RAM and is
  740.          located in your 1stReader system subdirectory.  If you use
  741.          this command line switch then you can point 1stReader to
  742.          another filename if you wish.  If you have a large RAM disk
  743.          available it would be nice to point the swap file into the
  744.          RAM disk for faster speed.  1stReader overwrites <filespec>.
  745.  
  746.  
  747.          /TIME: <military format>
  748.          ------------------------
  749.          This command line switch works with the /CALL and /ONLYREPS
  750.          switches so you can set the time you wish to start calling
  751.          the <list of systems>.  Remember, you MUST use military
  752.          format if you wish to call systems starting after 12:59 pm
  753.          (1:00 pm is translated into 13:00 hours).
  754.  
  755.          Examples:
  756.  
  757.          1ST /CALL: SPARKY EXECNET CHANNEL1 /TIME: 20:00
  758.          1ST /ONLYREPS: SPARKY EXECNET CHANNEL 1 /TIME: 20:00
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.                                     Page 7 
  772.  
  773.  
  774.  
  775.          /XON
  776.          ----
  777.          1stReader uses the "RTS" method of checking to determine when
  778.          your modem is ready to receive characters.  This switch is
  779.          just like the /NON switch except that instead of turning off
  780.          ALL forms of line checking, it forces 1stReader to use
  781.          XON/XOFF checking (required by older modems).
  782.  
  783.          Example:        1ST /XON
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.                                     Page 8 
  834.  
  835.  
  836.  
  837.          Creating 1stReader LOAD files
  838.          -----------------------------
  839.  
  840.          You can create text files that contain multiple DOS command
  841.          line switches and easily load them from the DOS command
  842.          prompt with 1stReader.  Simply use a text editor to create a
  843.          file (you may give it any name you wish) and then tell the
  844.          reader to load it from the DOS command prompt.  1stReader
  845.          will read the switches from the file just like you entered
  846.          them from the DOS command line prompt.
  847.  
  848.          For example, if you wanted to create a LOAD file that would
  849.          always allocate 2,000 messages per conference and 10,000
  850.          lines per message (using EMS memory) and loads the
  851.          BIGSERF.FNT file, you could create a file named BIGEMS in a
  852.          text editor.  The file would contain this entry:
  853.  
  854.                      /EMS: 2000:10000 /FONT: BIGSERIF.FNT
  855.  
  856.          You could then tell 1stReader to load the BIGEMS file by
  857.          using the DOS command:
  858.  
  859.                                  1ST @BIGEMS
  860.  
  861.          The "@" tells 1stReader to look for the file "BIGEMS" and if
  862.          found use the DOS command line arguments it contains to start
  863.          up 1stReader.   There is one special filename reserved for
  864.          this feature.  If you create a file named "SWITCHES.1ST" and
  865.          you simply start 1stReader by typing "1ST" from the DOS
  866.          command line, then 1stReader will look for SWITCHES.1ST.  If
  867.          SWITCHES.1ST is found then the reader will read it for the
  868.          DOS command line switches.
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.                                     Page 9 
  896.  
  897.  
  898.  
  899.          1stReader Support Files
  900.          -----------------------
  901.  
  902.          There are files you can place inside your 1stReader system
  903.          subdirectory that can help you change the way 1stReader
  904.          operates.
  905.  
  906.          Before you continue, we need to explain the file directory
  907.          structure used by 1stReader.  You can, of course, change this
  908.          layout in the SETUP section inside 1stReader, but by default
  909.          this subdirectory tree structure is used:
  910.  
  911.                  \1ST\                   1stReader system subdirectory
  912.                  \1ST\SCRIPTS\           Script files location
  913.                  \1ST\PACKETS\           Mail packets location
  914.                  \1ST\FILES\             Files you download
  915.                  \1ST\PROGRAMS\          Programs area
  916.                  \1ST\FOLDERS\           Folders area
  917.                  \1ST\MME\               Location of sound files
  918.                  \1ST\WORK\              Temporary mail work area
  919.                  \1ST\REP-WORK\          Temporary replies work area
  920.                  \1ST\SERVICES\          Temporary services work area
  921.                  \1ST\BBS\QWK-ID\        The BBS subdirectories
  922.  
  923.          The two locations we are concerned about right now are the
  924.          System subdirectory (we'll call it SYSTEM) and the BBS
  925.          subdirectories (we'll call it BBS).  The BBS subdirectories
  926.          are created underneath the \1ST\BBS area.  Each system you
  927.          call with 1stReader has a unique BBS subdirectory underneath
  928.          this area.  It is here that all bulletins, archived file
  929.          lists, script files and other items unique to each system is
  930.          stored.  So, when we refer to the BBS subdirectory, we are
  931.          actually referring to the unique subdirectory for a
  932.          particular bulletin board system, not \1ST\BBS\ itself.
  933.  
  934.          The files described below can be located in either the
  935.          SYSTEM, SCRIPTS or BBS subdirectory.   1stReader will always
  936.          look in the BBS subdirectory for the file first.  If the file
  937.          is not found then 1stReader will check for the file in the
  938.          SCRIPTS subdirectory.  Finally, if the file is not found in
  939.          that subdirectory the reader checks the SYSTEM subdirectory.
  940.          The major exception to this rule is when 1stReader is at the
  941.          OPENING SCREEN menu.  Since you haven't selected a system
  942.          from the menu 1stReader will skip checking the BBS
  943.          subdirectory first.
  944.  
  945.          If the file is found the BBS subdirectory then that file will
  946.          only work when you have selected that system from the opening
  947.          screen menu.  Otherwise, if the file is not found in the BBS
  948.          subdirectory but it is found elsewhere that file is available
  949.          at ALL times.
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.                                     Page 10 
  958.  
  959.  
  960.  
  961.          There are four different types of support file.  They are
  962.          .BAT, .CMD, .LST and .MME files.
  963.  
  964.  
  965.  
  966.  
  967.          .BAT (or .BTM) files
  968.          --------------------
  969.  
  970.          You can "by pass" the built-in features found in 1stReader
  971.          with your own personal favorites if you wish.  Of course, you
  972.          can use your own internal file LIST or EDITOR programs by
  973.          entering their DOS commands in SETUP's EDITOR section.  But
  974.          you can replace many of the internal systems found in
  975.          1stReader by using batch files.
  976.  
  977.          1stReader will follow the normal BBS/SCRIPTS/SYSTEM search
  978.          method to locate these files unless  specifically mentioned
  979.          in the descriptions below.  Also, if you have turned on 4DOS
  980.          support within 1stReader remember that 1st will be looking
  981.          for .BTM files instead.
  982.  
  983.          1stReader never actually executes the batch file you create.
  984.          Instead, it reads the contents of the batch file and creates
  985.          a temporary batch file to execute named $$EXEC.BAT.  When
  986.          1stReader is reading the contents of your batch file it can
  987.          substitute values from the Applications Program Interface
  988.          (API).  The API is defined later in this guide.  All you need
  989.          to remember for now is that you can substitute API variables
  990.          in your batch files as needed.
  991.  
  992.  
  993.          $$MAIL.BAT
  994.          ----------
  995.          If you wish to use your favorite telecommunications software
  996.          to call bulletin board systems you can replace the internal
  997.          module in 1stReader by creating a $$MAIL.BAT file.  This file
  998.          passes along to the application the QWK-ID of the system you
  999.          have selected in the '%1' parameter in the batch file.
  1000.  
  1001.          There are two communication systems that are designed to
  1002.          transfer mail packets to and from offline mail systems.
  1003.          These two programs are ICOM from Liberation Enterprises and
  1004.          ROBOCOMM from Parsons Technologies.  If you wish to use
  1005.          either of these systems with 1stReader you need to create a
  1006.          $$MAIL.BAT file that will CHDIR into the proper subdirectory
  1007.          and then execute the program.  Inside the batch file you need
  1008.          to use these commands to run either program:
  1009.  
  1010.                  For ICOM use the command:       ICOM /RUN:%1
  1011.                  For ROBOCOMM use the command:   ROBOCOMM /A%1 /R
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.                                     Page 11 
  1020.  
  1021.  
  1022.  
  1023.          The QWK-ID for the system is passed in the '%1' parameter so
  1024.          you need to make sure you have a job (for ICOM) or an agenda
  1025.          (for ROBOCOMM) prepared to call the bulletin board system.
  1026.  
  1027.  
  1028.          $$REPLY.BAT
  1029.          -----------
  1030.          This batch file works just like $$MAIL.BAT except that it is
  1031.          used if you wish to transmit replies back to the bulletin
  1032.          board system without picking up new mail.  If this batch file
  1033.          is found and you have selected the "Get Mail" button and you
  1034.          also have replies on file, you will be asked if you wish to
  1035.          only transmit replies to the system.
  1036.  
  1037.  
  1038.          $$CALL.BAT
  1039.          ----------
  1040.          This batch file works just like $$MAIL.BAT except that it is
  1041.          used to call the bulletin board and place the user in an
  1042.          interactive terminal mode.  You can interface 1stReader with
  1043.          your favorite terminal program (ProComm, Telix, etc) by using
  1044.          this batch file.
  1045.  
  1046.  
  1047.          $$CHECK.BAT
  1048.          -----------
  1049.          This batch file lets 1stReader test archives for any
  1050.          potential viruses that might be included in programs you
  1051.          download from other bulletin board systems.  Unfortunately,
  1052.          it is a fact these days that people create programs that try
  1053.          to destroy your data.  In response to this threat, companies
  1054.          have created programs to detect these virus programs before
  1055.          they can infect your computer.
  1056.  
  1057.          1stReader can automatically test for viruses by using the
  1058.          $$CHECK.BAT batch file.  Only one parameter is passed to this
  1059.          batch file in the '%1' parameter, the location of the
  1060.          subdirectory that contains the files to be tested.
  1061.          $$CHECK.BAT should call your virus checking software passing
  1062.          the location of this subdirectory to the program.
  1063.  
  1064.          $$CHECK.BAT is automatically executed after you unpack an
  1065.          archive downloaded from a bulletin board system.
  1066.  
  1067.  
  1068.          $$TERM.BAT
  1069.          ----------
  1070.          You can use your favorite telecommunications program with
  1071.          1stReader.  The $$TERM.BAT file can call a communications
  1072.          program when you select the 'Terminal' button from the
  1073.          'Opening Menu' screen.  Simply use this batch file to call
  1074.          your telecom program.
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.                                     Page 12 
  1082.  
  1083.  
  1084.  
  1085.          $$BATCH.BAT
  1086.          -----------
  1087.          If you call more than one system in a batch mode (either by
  1088.          using the /CALL, /ONLYREPS or by tagging multiple systems
  1089.          from the list of systems, when finished calling these
  1090.          systems, 1stReader will execute $$BATCH.BAT if the batch file
  1091.          exists.
  1092.  
  1093.  
  1094.          $$START.BAT and $$END.BAT
  1095.          -------------------------
  1096.          These batch files are executed automatically by 1stReader
  1097.          when you begin and exit 1stReader.  You can use these batch
  1098.          files to perform any functions you wish.
  1099.  
  1100.  
  1101.          $$REPLIES.BAT
  1102.          -------------
  1103.          This batch is executed by 1stReader as soon as a reply mail
  1104.          packet is unbundled.  The idea behind this batch file is to
  1105.          allow you to process the reply mail packet in any way you
  1106.          wish before you read the mail packet.  The same parameters
  1107.          used in the $$INTRO.BAT file are passed to this batch
  1108.          file from 1stReader.
  1109.  
  1110.  
  1111.          $$FILER.BAT
  1112.          -----------
  1113.          This batch file will execute whenever you click on the
  1114.          "Files" button in the "Read messages" screen.  It's designed
  1115.          so you can process the NEWFILES.DAT file any way you wish.
  1116.          The NEWFILES.DAT file contains a list of newly uploaded files
  1117.          on a bulletin board system.  Only one parameter is passed in
  1118.          '%1' to the batch file, - the full name of the NEWFILES.DAT
  1119.          filespec.
  1120.  
  1121.  
  1122.          $$EXIT.BAT
  1123.          ----------
  1124.          $$EXIT.BAT works just like $$INTRO.BAT, except that instead
  1125.          of being a "preprocessor" for the mail packet it is a "post-
  1126.          processor".  This batch file is called after you have exited
  1127.          the mail packet but before the contents of the work
  1128.          subdirectories are erased.  Any files found in the REP-WORK
  1129.          subdirectory are included in the .REP reply mail packet.
  1130.  
  1131.          Three parameters are passed to the $$EXIT.BAT file.  These
  1132.          parameters are:
  1133.  
  1134.                         %1        Name of the QWK-ID for the system
  1135.                         %2        Path to the work subdirectory
  1136.                         %3        Path to the replies subdirectory
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.                                     Page 13 
  1144.  
  1145.  
  1146.  
  1147.          $$SPELL.BAT
  1148.          -----------
  1149.          If this batch file exists then 1stReader will ask you if you
  1150.          wish to perform a spelling check on your reply just before
  1151.          you save the message.  The batch file uses the '%1' parameter
  1152.          to store the filename being passed to the batch file.  This
  1153.          is a great way to interface spelling checkers like SHARESPELL
  1154.          with 1stReader.  Example (assumes ShareSpell is in the
  1155.          \SSPELL subdirectory):
  1156.  
  1157.                         @ECHO OFF
  1158.                         CD \SSPELL
  1159.                         SS %1
  1160.  
  1161.  
  1162.          $$CNAMES.BAT
  1163.          ------------
  1164.          This batch file works when a user clicks on the "Conf List"
  1165.          button in the 'Join a conference' screen.  The idea behind
  1166.          this batch is to allow 1stReader to shell to a program that
  1167.          the user can query for conference information.  Some systems
  1168.          have over 5,000 conferences so a database isn't such a bad
  1169.          idea!
  1170.  
  1171.  
  1172.          $$Fxx.BAT
  1173.          ---------
  1174.          These batch files (where 'xx' is a value from 1 to 10)
  1175.          correspond to the function keys on your keyboard.  If you
  1176.          press the [SHIFT]+F10 key, for example, then 1stReader will
  1177.          execute $$F10.BAT (if found).  This feature lets you
  1178.          interface programs that you wish to have executed from one
  1179.          keystroke rather than inserting them into the [F7] command
  1180.          files.
  1181.  
  1182.  
  1183.          $$SHELL.BAT
  1184.          -----------
  1185.          Whenever you manage files 1stReader will take you into the
  1186.          file manager.  If you wish to use your own file managing
  1187.          system create a file named $$SHELL.BAT.  This batch file
  1188.          should call your file manager.  1stReader passes the location
  1189.          of the subdirectory to be managed in the '%1' parameter.
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.                                     Page 14 
  1206.  
  1207.  
  1208.  
  1209.          .CMD and .LST files
  1210.          -------------------
  1211.  
  1212.          .CMD (Command) and .LST (pick list) files let you integrate
  1213.          other programs into 1stReader.  .CMD files are text files
  1214.          that contain program descriptions and program commands in a
  1215.          pulldown menu.  You can call up the .CMD file(s) by pressing
  1216.          the [F7] key on your keyboard.
  1217.  
  1218.          .LST files let you pass on keyboard macros into 1stReader
  1219.          using a pulldown menu too.  Press the [F8] key on your
  1220.          keyboard to call up .LST files.  Please note that .LST files
  1221.          are available for certain keyboard prompts only.
  1222.  
  1223.                          The format of a .CMD file is:
  1224.  
  1225.                          TITLE=<title description>
  1226.                          Description #1,DOS command #1
  1227.                          Description #2,DOS command #2
  1228.                          Description #3,DOS command #3
  1229.  
  1230.                          The format of a .LST file is:
  1231.  
  1232.                          TITLE=<title description>
  1233.                          Description #1,Keyboard macro #1
  1234.                          Description #2,Keyboard macro #2
  1235.                          Description #3,Keyboard macro #3
  1236.  
  1237.          You may have up to 100 commands per file.  You can also
  1238.          "chain" other .CMD or .LST files by using the syntax:
  1239.  
  1240.                 Desc,FILE=filespec.CMD or Desc,FILE=filespec.LST
  1241.  
  1242.          To create a .CMD file press ALT+F7. or press ALT+F8 to create
  1243.          a .LST file.  This will place you in the editor where you can
  1244.          create the file.  If you are in 'novice mode' then you will
  1245.          know that a picklist is available because 1stReader displays
  1246.          "[F8]=Picklist" on your screen.
  1247.  
  1248.  
  1249.          $$1ST.CMD
  1250.          ---------
  1251.          Usually, you will be interested in $$1ST.CMD.  If this file
  1252.          exists then 1stReader will load the file and display the menu
  1253.          of functions in the middle of your screen.  You can then
  1254.          select which program you wish to execute and 1stReader will
  1255.          SHELL and execute the DOS command.
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.                                     Page 15 
  1268.  
  1269.  
  1270.  
  1271.          $$ppff.CMD
  1272.          ----------
  1273.          Almost all of the keyboard input fields are identified in
  1274.          1stReader by page and field number.  If $$ppff.CMD exists
  1275.          (where "pp" is the page number and "ff" is the field number)
  1276.          then 1stReader will display THIS file instead of $$1ST.CMD,
  1277.          if $$ppff.CMD exists.  You can create custom .CMD files for
  1278.          specific keyboard input fields by pressing the ALT+F7 key at
  1279.          anytime.
  1280.  
  1281.  
  1282.  
  1283.  
  1284.          Multiple EDITORS and LIST programs
  1285.          ----------------------------------
  1286.  
  1287.          If you wish to use external editors or list programs you can
  1288.          create EDITORS.CMD and LIST.CMD files that contain the
  1289.          descriptions and commands needed to execute them.  For
  1290.          example, EDITORS.CMD might contain:
  1291.  
  1292.                          TITLE=External Editors
  1293.                          QEdit,Q %1 %2
  1294.                          TED,TED %1
  1295.                          DOS 6.00 Editor,EDIT %1
  1296.  
  1297.          Instead of entering the DOS command for an editor you would
  1298.          use the entry "EDITORS.CMD" instead.  Then, when you are
  1299.          about to SHELL to DOS to execute the external editor
  1300.          1stReader will ask you to select an editor from this list.
  1301.          '%1' gets translated into the ORIGINAL filespec and '%2' gets
  1302.          translated into the REPLY filespec.
  1303.  
  1304.          The same technique works for LIST.CMD except that you would
  1305.          only use '%1' to be replaced by the name of the file to list.
  1306.  
  1307.          1stReader supports up to 100 external editors and file
  1308.          listers using this technique.  You can create these files by
  1309.          going into Setup's "EDITOR" section then entering LIST.CMD
  1310.          and/or EDITORS.CMD in the appropriate entry field.  Then
  1311.          press ALT+F7 to create the file.
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.                                     Page 16 
  1330.  
  1331.  
  1332.  
  1333.          SHELL modifiers
  1334.          ---------------
  1335.  
  1336.          1stReader lets you control HOW it shells to a program using
  1337.          "shell modifiers".  These switches let you control whether
  1338.          the current screen is saved or cleared before you shell to
  1339.          DOS, if you wish to PAUSE before returning back to 1stReader,
  1340.          etc.
  1341.  
  1342.          Shell modifiers can be used in any DOS command executed from
  1343.          within 1stReader.  Usually, this means DOS commands issued
  1344.          from .CMD menus.  You can add SHELL modifiers directly into
  1345.          batch files by adding this line into the batch file itself:
  1346.  
  1347.                  :1ST shell modifier1 shell modifer2 ...
  1348.  
  1349.  
  1350.          /API: <filespec>
  1351.          ----------------
  1352.          The /API modifier tells 1stReader to create a file named
  1353.          <filespec> that contains the entire contents of the 1stReader
  1354.          API (Applications Program Interface).  This modifier lets
  1355.          third-party programmers read the current environment used by
  1356.          1stReader so they may take advantage of them for their
  1357.          own programs.
  1358.  
  1359.          The 1stReader API is defined later in this guide.  Here is
  1360.          the format for the file created by this modifier:
  1361.  
  1362.                  Version number                    INTEGER
  1363.                  Number of INTEGER API variables   INTEGER  (IMax)
  1364.                  Number of LONG API variables      INTEGER  (LMax)
  1365.                  Number of DEFAULT switches        INTEGER  (SwMax)
  1366.                  Number of STRING API variables    INTEGER  (SMax)
  1367.  
  1368.                  API(0)-API(IMax) INTEGER values   INTEGER*(IMax+1)
  1369.                  API&(0)-API&(LMax) LONG values    LONG*(LMax+1)
  1370.                  Switch(1)-Switch(SwMax)           INTEGER*(SwMax)
  1371.  
  1372.                  Next comes the API$() lookup table.  This is a table
  1373.                  that is SMax+1 entries long.  Each API$() value has
  1374.                  an offset and length value in this table.  Example:
  1375.  
  1376.                                 API$(0)         OFFSET:LENGTH
  1377.                                 API$(1)         OFFSET:LENGTH
  1378.  
  1379.                  You would read the offset to the variable you wish to
  1380.                  read and then SEEK to this position in the file and
  1381.                  read LENGTH number of bytes to access the string
  1382.                  variable.
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.                                     Page 17 
  1392.  
  1393.  
  1394.  
  1395.          /CGA, /EGA and /VGA
  1396.          -------------------
  1397.          These modifiers are to be placed on DOS commands when the
  1398.          shelled program requires that the system is connected to
  1399.          either a CGA, EGA or VGA monitor.
  1400.  
  1401.          For example, let's say you wanted to run a program that
  1402.          displayed a GIF file.  You can restrict use of the program to
  1403.          systems that have VGA color monitors by using this command:
  1404.  
  1405.                         Display a GIF file,NANOGIF /VGA
  1406.  
  1407.          A system equipped with a monochrome, CGA or EGA monitor would
  1408.          not execute this command.
  1409.  
  1410.  
  1411.          /CLS and /NOCLS
  1412.          ---------------
  1413.          The /CLS modifier tells 1stReader to erase the screen and
  1414.          display the DOS command before execution.  /NOCLS tells
  1415.          1stReader to leave the current screen intact and shell to the
  1416.          program, providing a "seamless" screen.  When the application
  1417.          returns control back to 1stReader the current screen is
  1418.          always restored.
  1419.  
  1420.  
  1421.          /CURSOR_ON and /CURSOR_OFF
  1422.          --------------------------
  1423.          These two modifiers control the cursor while shelling from
  1424.          1stReader.  If you wish to turn the DOS cursor on while
  1425.          shelling to a program use /CURSOR_ON.  /CURSOR_OFF will turn
  1426.          the cursor off.  Note that 1stReader always restores the
  1427.          cursor to the same condition after a DOS shell has taken
  1428.          place.
  1429.  
  1430.  
  1431.          /DISPLAY: <text>
  1432.          ----------------
  1433.          This modifier can be used to display a dialog box while
  1434.          shelling to a program from 1stReader.  Any text following
  1435.          this switch is displayed inside a dialog box on the screen as
  1436.          1stReader shells to DOS.
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.                                     Page 18 
  1454.  
  1455.  
  1456.  
  1457.          /EXPORT: <filespec>
  1458.          -------------------
  1459.          This modifier lets you export the current message into
  1460.          <filespec> so you can shell to another program that reads
  1461.          <filespec> for input.  This is a powerful feature that lets
  1462.          third-party software link into 1stReader and offer you
  1463.          capabilities above those found in the reader.
  1464.  
  1465.          The format of the exported message file is:
  1466.  
  1467.                  1stReader release number
  1468.                  Name of the bulletin board
  1469.                  Location
  1470.                  Telephone number
  1471.                  Sysop's name
  1472.                  Qmail Door serial number
  1473.                  PCBoard message status (225=Active, 226=Deleted)
  1474.                  Conference number
  1475.                  Message number
  1476.                  Message status flag
  1477.                  Date
  1478.                  Time
  1479.                  To
  1480.                  From
  1481.                  Subject
  1482.                  Reference number
  1483.                  Number of lines in text body
  1484.                  ...Message text...
  1485.  
  1486.          <filespec> is automatically deleted by 1stReader when you
  1487.          return from the DOS command.
  1488.  
  1489.  
  1490.          /FONT
  1491.          -----
  1492.          This modifier reloads a video font that was loaded by
  1493.          1stReader using the /FONT: <filespec> DOS switch.  Sometimes,
  1494.          when you execute a program from within 1stReader, the program
  1495.          can reset the video font.  This modifier tells 1stReader to
  1496.          reload the current font from disk after executing the DOS
  1497.          command.
  1498.  
  1499.  
  1500.          /IN: <filespec1>  /OUT: <filespec2>
  1501.          -----------------------------------
  1502.          These two modifiers work together...there is no point in
  1503.          using /IN without also using /OUT.  They provide you with a
  1504.          "flexible" API setup for third-party programmers.
  1505.  
  1506.          This concept takes a bit of explaining.  Remember the /API
  1507.          modifier described earlier?  That modifier creates a file of
  1508.          every entry contained in the 1stReader API.  As a third-party
  1509.          programmer, you might only be interested in using a few of
  1510.          the entries, but maybe not every single one.
  1511.  
  1512.  
  1513.  
  1514.  
  1515.                                     Page 19 
  1516.  
  1517.  
  1518.  
  1519.          1stReader uses <filespec1> as a "template" in order to create
  1520.          <filespec2>.  The template can contain any information your
  1521.          application requires in any order you wish.  @variables
  1522.          defined in <filespec1> are translated and written to
  1523.          <filespec2>.
  1524.  
  1525.          For example:
  1526.  
  1527.            <filespec1>                        <filespec2>
  1528.            -----------------------            ------------------------
  1529.            My App 1.01                        My App 1.01
  1530.            @API$(0)                           C:\1ST\1ST.SET
  1531.            @API$(5)                           C:\1ST\
  1532.            @API$(36),@DAY@                    MARK HERRING,Wed
  1533.  
  1534.          As you can see, 1stReader "reads" <filespec1> and translates
  1535.          it into <filespec2>.  Any "literals" that 1stReader cannot
  1536.          translate get passed "as is".  <filespec1> is never deleted
  1537.          by 1stReader.  <filespec2> is erased after returning from the
  1538.          DOS command.
  1539.  
  1540.  
  1541.          /LIST: <filespec>
  1542.  
  1543.          After completing the DOS shell, 1stReader will look for
  1544.          <filespec> and if found will list the file on the screen.
  1545.          Unlike LIST.$$$, <filespec> is not deleted by 1stReader.
  1546.  
  1547.  
  1548.          /MACRO: <text>
  1549.          --------------
  1550.          You can 'stuff' text into 1stReader's macro buffer
  1551.          immediately after returning from a DOS command using this
  1552.          modifier.
  1553.  
  1554.  
  1555.          /MSGTEXT: <filespec>
  1556.          --------------------
  1557.          This modifier works just like /EXPORT except that <filespec>
  1558.          only contains the text of the message and nothing else.
  1559.          /EXPORT creates a file that includes the TO, FROM, SUBJECT
  1560.          and other message header info.
  1561.  
  1562.          /MSGTEXT will work great for those users who want to use
  1563.          UUENCODE to rebuild an encoded file received via a Usenet
  1564.          message, among many other uses.
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.                                     Page 20 
  1578.  
  1579.  
  1580.  
  1581.          /NS and /SS
  1582.          -----------
  1583.          The /NS (No Supershell) modifier tells 1stReader that if
  1584.          SuperShell has been turned ON by the user then it should not
  1585.          invoke a SuperShell during this DOS command.
  1586.  
  1587.          /SS (SuperShell) works in the opposite manner.  It tells
  1588.          1stReader to invoke SuperShell even if the user has not
  1589.          turned SuperShell on.
  1590.  
  1591.  
  1592.          /NULL and /NONULL
  1593.          -----------------
  1594.          "/NULL" tells 1stReader to add ">NUL" to the DOS command line
  1595.          so that BIOS output will not echo to the screen.  "/NONULL"
  1596.          does the exact opposite - it will remove any ">NUL" added to
  1597.          a DOS command.  This lets you shell to programs that use BIOS
  1598.          output and lets you see the output.
  1599.  
  1600.  
  1601.          /PAUSE
  1602.          ------
  1603.          This modifier tells 1stReader to pause and wait for a
  1604.          keystroke before returning control back to the user.
  1605.  
  1606.  
  1607.          /SCRNSAVE: <filespec>
  1608.          ---------------------
  1609.          This modifier saves the current screen into <filespec> as a
  1610.          BINARY file.
  1611.  
  1612.  
  1613.          KEYBOARD.$$$
  1614.          ------------
  1615.          This isn't a DOS command modifier but rather a file that can
  1616.          contain information to be passed back to 1stReader.  If you
  1617.          shell to DOS from a keyboard input field, and the application
  1618.          you execute creates a KEYBOARD.$$$ file in the current
  1619.          subdirectory, this file is read by 1stReader and its contents
  1620.          entered into the current keyboard entry field.  This is an
  1621.          excellent way for third-party applications (like address
  1622.          books) to pass information back to 1stReader.
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.                                     Page 21 
  1640.  
  1641.  
  1642.  
  1643.          MESSAGE.$$$
  1644.          -----------
  1645.          This too isn't a DOS command modifier.  Instead, it is a file
  1646.          that contains a full message that is to be saved by 1stReader
  1647.          into the mail reply packet.
  1648.  
  1649.          The idea behind supporting this file is to allow other
  1650.          programs that might be shelled to from 1stReader to save
  1651.          messages automatically, without having to go through the same
  1652.          steps 1stReader performs to save the message.
  1653.  
  1654.          Here is the format used for MESSAGE.$$$:
  1655.  
  1656.                  Line 1:        Conference number to save message
  1657.                  Line 2:        If a public message this line is
  1658.                                 blank, otherwise the message is a
  1659.                                 personal msg.
  1660.                  Line 3:        Message TO field (address to whom)
  1661.                  Line 4:        Message SUBJECT field
  1662.                  Line 5:        Tagline to pass to 1stReader
  1663.  
  1664.                  Message text follows on line #6 and below.
  1665.  
  1666.          1stReader always checks for MESSAGE.$$$ after a DOS shell and
  1667.          deletes the file after saving the message.
  1668.  
  1669.  
  1670.          LIST.$$$
  1671.  
  1672.          1stReader will check for this file after a DOS shell.  If the
  1673.          file is found then LIST.$$$ will be displayed by 1stReader's
  1674.          internal LIST module and then be deleted.
  1675.  
  1676.  
  1677.          <confname>.TMP files
  1678.          --------------------
  1679.          The template files let you create 'forms' that are
  1680.          automatically inserted into the editor when a user ENTERS a
  1681.          new message.  The form can be a standard bug report form or
  1682.          any form you wish.  The idea behind this feature is to give
  1683.          the user an idea of what they should enter in a new message.
  1684.  
  1685.          1stReader looks for <confname>.TMP using the current
  1686.          conference's name (up to the first eight characters).  For
  1687.          example, if the user was in the 'TEST' conference and entered
  1688.          a new message, 1stReader would look for TEST.TMP and if found
  1689.          it would load it into the editor.  If TEST.TMP is not found
  1690.          then 1stReader looks for $$1ST.TMP instead.
  1691.  
  1692.          If the internal editor is used 1stReader also toggles the
  1693.          editor into an 'overstrike' mode.
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.                                     Page 22 
  1702.  
  1703.  
  1704.  
  1705.          .CMD controls
  1706.          -------------
  1707.          Some programs that can be installed into a .CMD menu might
  1708.          only operated after you have selected a bulletin board system
  1709.          from the opening menu.  They might not work properly because
  1710.          the user might be located at the opening menu or in the
  1711.          terminal mode.  If you wish to prevent a program from
  1712.          appearing in the menu when a BBS has not been selected, add
  1713.          "<BBS>" to the DOS command for that option.  This tells
  1714.          1stReader to skip loading this command into the menu screen
  1715.          if a BBS has not yet been selected.
  1716.  
  1717.          Example:
  1718.  
  1719.          Forward msg,FORWARD /IN:FORWARD.IN /OUT:FORWARD.$$$ <BBS>
  1720.  
  1721.  
  1722.  
  1723.  
  1724.          Features
  1725.          --------
  1726.  
  1727.          You can also access some of the 1stReader internal routines
  1728.          from a .CMD menu.  In order to access the routines 1stReader
  1729.          checks to make sure you are not already using the routines.
  1730.          If you are using the routines then these commands will not
  1731.          appear in your CMD menu at that time.
  1732.  
  1733.          For example, if you are using the file manager and press the
  1734.          [F7] to call up $$1ST.CMD and try to manage a subdirectory
  1735.          from the list of commands, the FEATURE=MANAGER command will
  1736.          not be displayed to you.
  1737.  
  1738.  
  1739.          FEATURE=CALL
  1740.          ------------
  1741.          Lets you call the currently selected bulletin board system
  1742.          from the .CMD menu.  1stReader will place you in the terminal
  1743.          mode and call the system logging you onto the BBS.
  1744.  
  1745.          Example:        Call this system,FEATURE=CALL
  1746.  
  1747.  
  1748.          FEATURE=MAIL
  1749.          ------------
  1750.          This feature works just like the CALL feature except that it
  1751.          will make a full mail run to the selected bulletin board
  1752.          system.
  1753.  
  1754.          Example:        Make a mail run,FEATURE=MAIL
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.                                     Page 23 
  1764.  
  1765.  
  1766.  
  1767.          FEATURE=MANAGER directory [<ABS>]
  1768.          ---------------------------------
  1769.          Lets you access the 1stReader file manager.  If directory is
  1770.          entered on the same line then 1stReader will manage
  1771.          directory.   If "<ABS>" is included on the command line then
  1772.          the reader will not ask you for a directory path before
  1773.          entering the file manager.
  1774.  
  1775.          Example:
  1776.  
  1777.          Manage Downloads,FEATURE=MANAGER @API$(2) <ABS>
  1778.  
  1779.  
  1780.          FEATURE=SETUP
  1781.          -------------
  1782.          Lets you access the 1stReader setup section (the same section
  1783.          used by the SETUP button on the Opening Menu).
  1784.  
  1785.          Example:        1stReader setup,FEATURE=SETUP
  1786.  
  1787.  
  1788.          FEATURE=SNAPSHOT <filespec>
  1789.          ---------------------------
  1790.          This feature lets you capture the current screen into
  1791.          <filespec> as a .BIN file.  If you do not user a filespec
  1792.          then 1ST-SNAP.BIN is used by default.
  1793.  
  1794.          Example:        Save screen,FEATURE=SNAPSHOT TEST.BIN
  1795.  
  1796.  
  1797.          FEATURE=TAGLINES
  1798.          ----------------
  1799.          You can manage your 1stReader taglines from anywhere within
  1800.          1stReader using this feature.
  1801.  
  1802.          Example:        Manage taglines,FEATURE=TAGLINES
  1803.  
  1804.  
  1805.          FEATURE=TERMINAL SCRIPT: filename PHONE: phone BAUD: baud
  1806.  
  1807.          This feature lets you access the 1stReader terminal section.
  1808.          If you have created a $$TERM.BAT file then the reader will
  1809.          use this batch file to call up your terminal program
  1810.          (1stReader will ignore the SCRIPT and PHONE parameters if
  1811.          used).
  1812.  
  1813.          You can also pass on to the terminal section the telephone
  1814.          number of the system you wish to dial (and the baud rate to
  1815.          use) as well as the name of a script file to execute.
  1816.  
  1817.          Example:
  1818.  
  1819.          Call Sparky's,FEATURE=TERMINAL PHONE: 230-8822 BAUD: 19200
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.                                     Page 24 
  1826.  
  1827.  
  1828.  
  1829.          MultiMedia Extensions (MME)
  1830.          ---------------------------
  1831.  
  1832.          If you have a Sound Blaster (or compatible) sound card
  1833.          installed in your computer system then 1stReader can play
  1834.          .VOC (sampled data), .CMF (FM music), .MID (midi) and .MME
  1835.          files through your sound card.  All you need to do is to turn
  1836.          the "MultiMedia" switch ON in the SETUP/SWITCHES section
  1837.  
  1838.          Please Note: It is not recommended that you turn on the
  1839.                       MultiMedia switch while running 1stReader under
  1840.                       Windows or Desqview.
  1841.  
  1842.                       If you do not have a sound card installed in
  1843.                       your computer or you do not wish to use MME
  1844.                       within 1stReader you should turn the multimedia
  1845.                       switch OFF.
  1846.  
  1847.                       If you start 1stReader using the /SILENT DOS
  1848.                       command switch then 1stReader will not play
  1849.                       multimedia files for that session.
  1850.  
  1851.          Whenever you are in the 1stReader file manager you can select
  1852.          a .VOC, .MID or .CMF file and 1stReader will play the file
  1853.          through your sound card.  However, when the reader displays a
  1854.          text or ANSI file it will also look for a file that matches
  1855.          the filename being displayed (but not the extension) and if
  1856.          found, that file will be played through the sound card.  It
  1857.          is better to give an example of how this works...
  1858.  
  1859.          Whenever you unpack a QWK mail packet in 1stReader the reader
  1860.          always looks to display a WELCOME file included in the mail
  1861.          packet.  If you have MME turned on then 1stReader looks for
  1862.          these files in the this order:
  1863.  
  1864.                         \1ST\BBS\<QWK-ID>\WELCOME.MME
  1865.                         \1ST\BBS\<QWK-ID>\WELCOME.MID
  1866.                         \1ST\BBS\<QWK-ID>\WELCOME.CMF
  1867.                         \1ST\BBS\<QWK-ID>\WELCOME.VOC
  1868.                         \1ST\MME\WELCOME.MME
  1869.                         \1ST\MME\WELCOME.MID
  1870.                         \1ST\MME\WELCOME.CMF
  1871.                         \1ST\MME\WELCOME.VOC
  1872.                         \1ST\WELCOME.MME
  1873.                         \1ST\WELCOME.MID
  1874.                         \1ST\WELCOME.CMF
  1875.                         \1ST\WELCOME.VOC
  1876.  
  1877.          1stReader will stop the search with the first filename it
  1878.          locates.  If the file is found 1stReader will play the file
  1879.          through your sound card.  This feature lets you tie sound
  1880.          files together with text files that are already displayed by
  1881.          1stReader.
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.                                     Page 25 
  1888.  
  1889.  
  1890.  
  1891.          Note that if the file you are displaying already includes an
  1892.          extension then 1stReader strips the extension from the
  1893.          filename and performs the same search.  For example, if the
  1894.          filename was WELCOME.TXT then 1stReader strips the ".TXT"
  1895.          from the filename and begins the search.
  1896.  
  1897.          This feature allows sysops to include .VOC files that are
  1898.          automatically played whenever a mail packet from their system
  1899.          is unpacked, or a bulletin is displayed....anything!
  1900.  
  1901.  
  1902.  
  1903.          .MME files
  1904.          ----------
  1905.          The ".MME" file extension is used by 1stReader to link other
  1906.          .VOC or .CMF files together into one sound 'stream'.  A .MME
  1907.          file is a text file that points to other .MID, .CMF  and/or
  1908.          .VOC files that are to be played in order by 1stReader.  An
  1909.          example of a .MME file might be:
  1910.  
  1911.                                 APPLAUSE.VOC
  1912.                                 WELCOME.VOC
  1913.                                 STARTREK.CMF
  1914.  
  1915.          If this file was called WELCOME.MME then when the WELCOME
  1916.          file is displayed by 1stReader it will read WELCOME.MME and
  1917.          then play, in order, APPLAUSE.VOC, WELCOME.VOC and
  1918.          STARTREK.CMF.  These three files can be located in the BBS
  1919.          subdirectory, inside the \1ST\MME subdirectory or in \1ST
  1920.          itself.
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.                                     Page 26 
  1950.  
  1951.  
  1952.  
  1953.          Special files
  1954.          -------------
  1955.  
  1956.          1stReader has reserved filenames for special features used
  1957.          throughout the reader.  As always, 1stReader looks for these
  1958.          files in the BBS subdirectory first, then the \1ST\MME
  1959.          subdirectory and finally in the \1ST subdirectory.  These
  1960.          files can use the .MME, .MID, .CMF or .VOC extensions
  1961.          depending upon your needs.
  1962.  
  1963.  
  1964.          $$ALARM
  1965.          -------
  1966.          Played whenever 1stReader connects to a bulletin board system
  1967.          or finishes a file transfer with the bulletin board.
  1968.  
  1969.  
  1970.          $$CHKPRT
  1971.          --------
  1972.          This file is played whenever you attempt to print text on
  1973.          your printer but your printer is not ready to print (either
  1974.          not connected, not turned ON or the printer is not ONLINE).
  1975.  
  1976.  
  1977.          $$EXIT
  1978.          ------
  1979.          Played when you exit 1stReader and return to DOS.
  1980.  
  1981.  
  1982.          $$H-<help_recnum>
  1983.          $$HELP
  1984.          -----------------
  1985.          $$HELP is played after the online help facility is used AND
  1986.          the user has not turned on the "Advanced Features" switch.
  1987.          1stReader will look to see if $$H-<help_recnum> is on file
  1988.          and if found, will play it before it plays $$HELP.
  1989.          <help_recnum> is the record number for that particular
  1990.          help function.
  1991.  
  1992.  
  1993.          $$INTRO
  1994.          -------
  1995.          Played at the start of 1stReader before you arrive the
  1996.          opening menu.
  1997.  
  1998.  
  1999.          \1ST\BBS\<confnum>
  2000.          ------------------
  2001.          This file lets a sysop tie a particular MME file to a
  2002.          conference on their system.  It is played whenever you join
  2003.          <confnum> in 1stReader.
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.                                     Page 27 
  2012.  
  2013.  
  2014.  
  2015.          NEWS
  2016.          NEWFILES
  2017.          SERVICES
  2018.          LEAVING
  2019.          --------
  2020.          These four MME files are played after a mail packet has been
  2021.          unpacked but before arriving at the "Read messages" menu.
  2022.          NEWS is played if a news bulletin is in the mail packet.
  2023.          NEWFILES is played if a list of new files has been included.
  2024.          SERVICES is played if services were included in the mail
  2025.          packet.  And finally, LEAVING is played when the user
  2026.          selects the "QUIT" button from the "Read messages" menu.
  2027.  
  2028.  
  2029.          $$TRANS
  2030.          -------
  2031.          This file is played after a file transfer has been completed.
  2032.          If $$TRANS.* is not on file then 1stReader will use $$ALARM
  2033.          instead.
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.                                     Page 28 
  2074.  
  2075.  
  2076.  
  2077.          The 1stReader Applications Program Interface (API)
  2078.          --------------------------------------------------
  2079.  
  2080.          The 1stReader API is designed to let third-party programmers
  2081.          have access to the internal information used by 1stReader.
  2082.  
  2083.          Power users will also find the API of interest.  That's
  2084.          because we have provided you with special functions that let
  2085.          you access the API from with batch files and 1stReader
  2086.          itself.  These functions are:
  2087.  
  2088.                  @API(xx)       Accesses the integer API entries.
  2089.                                 "xx" can be between 0 and 275.
  2090.  
  2091.                  @API&(xx)      Accesses the long integer API entries.
  2092.                                 "xx" can be between 0 and 10.
  2093.  
  2094.                  @API$(xx)      Accesses the API text entries.
  2095.                                 "xx" can be between 0 and 165.
  2096.  
  2097.                  @SWITCH(xx)    Accesses the setup switches.
  2098.                                 "xx" can be between 1 and 36
  2099.  
  2100.          The actual API values are listed below.  It is important to
  2101.          remember that 1stReader supports these (and ALL) @variable
  2102.          definitions in filespecs, text entries and descriptions.
  2103.          They come in VERY handy with the .CMD and .LST files.
  2104.  
  2105.          Here is a list of the 1stReader API entries.  If you have
  2106.          specific questions about any of these entries please leave us
  2107.          a message on our customer support system at (615) 230-8822.
  2108.  
  2109.  
  2110.                  1stReader Integer API table
  2111.          -------------------------------------------------------------
  2112.            1:    Text file (1STTEXT) file handle
  2113.            2:    Segment address of 1STTEXT (if loaded)
  2114.            3:    SCREENS file handle
  2115.            4:    Length of the DialDir entry
  2116.            5:    Phone Book file handle
  2117.            6:    Number of screens on file
  2118.            7:    Screen buffer segment address
  2119.            8:    Current screen number
  2120.            9:    Reader screen buffer
  2121.           10:    Does a mouse exist?
  2122.           11:    Mouse cursor state
  2123.           12:    Are we in ScrnEdit?
  2124.           13:    Last keyboard field entered
  2125.           14:    The user cannot access help from this location
  2126.           15:    Total number of systems on file
  2127.           16:    Current system record number
  2128.           17:    Are we inside QmSetup?
  2129.           18:    Are we inside ShowFile?
  2130.           19:    Qmail Door serial number
  2131.  
  2132.  
  2133.  
  2134.  
  2135.                                     Page 29 
  2136.  
  2137.  
  2138.  
  2139.           20:    Is the user a sysop?
  2140.           21:    Maximum number of lines per message
  2141.           22:    Number of conferences on file
  2142.           23:    Number of login names
  2143.           24:    Number of active conferences
  2144.           25:    File handle for MESSAGES.DAT
  2145.           26:    Current conference number
  2146.           27:    Current MIDI velocity value
  2147.           28:    Is music enabled for this display?
  2148.           29:    Is this display an ANSI ART display?
  2149.           30:    Last conference joined
  2150.           31:    Number of messages in conference
  2151.           32:    Current message number in conference
  2152.           33:    Number of lines in current message
  2153.           34:    Is this message an ANSI message?
  2154.           35:    Last message number loaded
  2155.           36:    Current line number in message
  2156.           37:    File handle for the replies file
  2157.           38:    A DosService call was made
  2158.           39:    Normal message text color
  2159.           40:    Quoted message text color
  2160.           41:    Search message text color
  2161.           42:    Current message file buffer
  2162.           43:    Was a bookmark read?
  2163.           44:    Is this message addressed to you?
  2164.           45:    Message type (1=Public, 2=Private, 3=Comment,
  2165.                  4=Sender, 5=Group)
  2166.           46:    Is the message read (1=Yes, 0=No)
  2167.           47:    Number of mouse traps in effect
  2168.           48:    Number of files downloaded in TERMINAL mode
  2169.           49:    Are we in batch mode using /CALL or /ONLYREPS?
  2170.           50:    File handle for zippy file search
  2171.           51:    Are we in color mode?
  2172.           52:    How many active keywords are there in the scan?
  2173.           53:    Is this message a USENET message?
  2174.           54:    Was F10 pressed?   (The action key)
  2175.           55:    Number of names in TWIT file
  2176.           56:    Reload the TWIT file?
  2177.           57:    Last conference joined since Zippy
  2178.           58:    File handle for folders
  2179.           59:    Are we in the initial IPL for the reader?
  2180.           60:    Stacked OPTION command (used when CTRL is pressed)
  2181.           61:    Are we currently inside QmListFile?
  2182.           62:    Was a packet found on startup in the work
  2183.                  subdirectory
  2184.           63:    Highest conference number
  2185.           64:    Last message line displayed at top in internal quoter
  2186.           65:    Number of messages tagged for archiving
  2187.           66:    If set then the message is not redisplayed
  2188.           67:    Number of files found in the mail packet
  2189.           68:    Direction of the QmScrnEdit field movement
  2190.           69:    File number for services.dat
  2191.           70:    Number of services on file
  2192.           71:    File handle number for the .QWK packet
  2193.  
  2194.  
  2195.  
  2196.  
  2197.                                     Page 30 
  2198.  
  2199.  
  2200.  
  2201.           72:    Number of new bulletins found
  2202.           73:    Packet number selected
  2203.           74:    Set for QmListConf
  2204.           75:    Display this message in ANSI
  2205.           76:    Button pressed in MouseRange()
  2206.           77:    Mouse button selected in MouseRange()
  2207.           78:    Number of messages in this packet
  2208.           79:    Have we initialized the modem?
  2209.           80:    Force carrier on modem?
  2210.           81:    The comm ABORT switch
  2211.           82:    Recycle to next call in queue
  2212.           83:    Echo received characters from comm port on screen?
  2213.           84:    Number of LOOK variables defined
  2214.           85:    Timeout value for comm routines
  2215.           86:    Is autoZmodem downloads enabled?
  2216.           87:    Are we in terminal mode?
  2217.           88:    Reload the current message?
  2218.           89:    Are we in the terminal program
  2219.           90:    Buffer position for comm routines
  2220.           91:    Was JH called?
  2221.           92:    IRQ number
  2222.           93:    Base address
  2223.           94:    Reading without a packet on file?
  2224.           95:    Flow control parameter
  2225.           96:    Is the comm port open?
  2226.           97:    FIFO buffer size
  2227.           98:    Are we now reading a packet?
  2228.           99:    Are we inside a script?
  2229.          100:    Is this message routed from PostLink?
  2230.          101:    Is this message routed from Usenet?
  2231.          102:    Is AutoExit in terminal enabled?
  2232.          103:    Are we inside the DOS SHELL (F6) handler?
  2233.          104:    Was /QWK: used?
  2234.          105:    Was /REP: used?
  2235.          106:    Are we inside the function menu routine?
  2236.          107:    Maximum number of messages per conference
  2237.          108:    Use "UN:" on this message?
  2238.          109:    Was this mail packet mangled by EZ-Reader?
  2239.          110:    Mixed case entry flag
  2240.          111:    Fido style taglines flag
  2241.          112:    Have mail headers been swapped out?
  2242.          113:    Current field number in screen
  2243.          114:    Are we inside the editor subroutine?
  2244.          115:    CONTROLTYPE = ADD found in DOOR.ID
  2245.          116:    Should ADD/DROP buttons be displayed?
  2246.          117:    Are we inside the DOOR setup routine?
  2247.          118:    Strip @X codes?
  2248.          119:    International date format (0=USA, 1=EUROPE, 2=JAPAN)
  2249.          120:    Is a message loaded?
  2250.          121:    Are we inside the QmListConfs routine?
  2251.          122:    Is Doorway mode turned on?
  2252.          123:    Was doorway mode turned on while executing a script?
  2253.          124:    Maximum number of lines in a reply
  2254.          125:    Were services included in this packet?
  2255.  
  2256.  
  2257.  
  2258.  
  2259.                                     Page 31 
  2260.  
  2261.  
  2262.  
  2263.          126:    Was KEYBOARD.$$$ read?
  2264.          127:    HELP.DAT handle
  2265.          128:    Help record file
  2266.          129:    If set then use 4DOS BTM files
  2267.          130:    Maximum possible number of messages allowed
  2268.          131:    Was HELP just called?
  2269.          132:    Last archive packet used
  2270.          133:    Number of Replace$() variables defined
  2271.          134:    Archiver used to unpack mail packet
  2272.          135:    Are we ordering 1stReader?
  2273.          136:    Was the last unpack operation successful?
  2274.          137:    Stop the pause in QmFileDisplay?
  2275.          138:    Size of 16550 FIFO stack (modified by 1st)
  2276.          139:    Are we inside help?
  2277.          140:    Is the user a Qmail Door owner?
  2278.          141:    Are we inside the internal editor?
  2279.          142:    Number of times TIMEOUT was hit in script
  2280.          143:    Number of times for TIMEOUT to hit before ABORTing
  2281.                  script
  2282.          144:    Capture buffer file number
  2283.          145:    Reload the message display screen?
  2284.          146:    Current serial port
  2285.          147:    Connect flag from $$DIAL.SCR
  2286.          148:    Is this a Blue Wave packet?
  2287.          149:    Is the user "NEW USER"?
  2288.          150:    0=TERMINAL, 1=CALL, 2=MAIL, 3=REPLY
  2289.          151:    Reserved
  2290.          152:    Reserved
  2291.          153:    Reserved
  2292.          154:    Is /MLIST used on the command line?
  2293.          155:    Fido tags turned on by @FIDO@?
  2294.          156:    Do not use $$DIAL.SCR
  2295.          157:    Reset the line input routine?
  2296.          158:    Use the disability switch?
  2297.          159:    Is DesqView active?
  2298.          160:    Screen buffer address
  2299.          161:    Did the last ANSI string contain a MUSIC string?
  2300.          162:    Number of lines in display for ANSIART message
  2301.          163:    Number of lines in display for ANSI file display
  2302.          164:    No Blink active?
  2303.          165:    Top of screen to protect in QmSetWindow
  2304.          166:    Left margin of screen to protect in QmSetWindow
  2305.          167:    Bottom of screen to protect in QmSetWindow
  2306.          168:    Right margin of screen to protect in QmSetWindow
  2307.          169:    Maximum number of lines in screen
  2308.          170:    Is this message larger than 200 lines?
  2309.          171:    Was this message already displayed as ANSI?
  2310.          172:    Last ROW used in virtual keyboard
  2311.          173:    Last COLUMN used in virtual keyboard
  2312.          174:    Can .VOC files be played by this system?
  2313.          175:    Can .MID and .CMF files be played by this system?
  2314.          176:    Abort all MME files in queue?
  2315.          177:    Always display messages in ANSI
  2316.          178:    Number of messages to be stored in EMS
  2317.  
  2318.  
  2319.  
  2320.  
  2321.                                     Page 32 
  2322.  
  2323.  
  2324.  
  2325.          179:    EMS handle for messages stored in array
  2326.          180:    Size of bookmark segment
  2327.          181:    Bookmark segment address
  2328.          182:    Noblink ANSI message
  2329.          183:    Number of lines in the display
  2330.          184:    Number of lines to protect in message display
  2331.          185:    Number of conferences in the first data segment
  2332.          186:    Number of conferences in the second data segment
  2333.          187:    Was ESC pressed to terminate the list of msgs
  2334.          188:    EMS handle for QmText (if loaded high)
  2335.          189:    Are we reading from the database?
  2336.          190:    Has we asked if this message should be displayed as
  2337.                  ANSI
  2338.          191:    Display mail packet names in packet screen.
  2339.          192:    Tearline in a message
  2340.          193:    Redial attempts
  2341.          194:    If set then on loss of carrier abort a redial.
  2342.          195:    Alias number used when saving a message
  2343.          196:    If true then NEWFILES.EXE is supported
  2344.          197:    Is the /SILENT switch used
  2345.          198:    Maximum length of UCode$()
  2346.          199:    If ON then do not act on $<command> in ANSI display
  2347.          200:    Draw the dialing box in terminal mode?
  2348.          201:    Are we in a DOS shell?
  2349.          202:    Number of ESC sequences in the current msg
  2350.          203:    DOS success flag
  2351.          204:    If set then do not perform a hangup during redials
  2352.          205:    Number of script files in the current CHAIN
  2353.          206:    Reserved
  2354.          207:    Reserved
  2355.          208:    If true we are calling for MAIL
  2356.          209:    Maximum number of taglines allowed
  2357.          210:    If TRUE then initialize API$(130-134)
  2358.          211:    If /SHOWDEL switch is turned ON
  2359.          212:    Number of messages to move forward to get to the next
  2360.                  message
  2361.          213:    Are we in the QmComm module?
  2362.          214:    Are we in the file manager module?
  2363.          215:    Are we editing a big file?
  2364.          216:    Is DEBUG turned on?
  2365.          217:    Is local ECHO turned on?
  2366.          218:    Sound Blaster support using CTVDSK?
  2367.          219:    Sound Blaster support using CMFDRV?
  2368.          220:    Dialing prefix number to use
  2369.          221:    If set then scan for MME files in subdirs
  2370.          222:    Were MME files found in API$(5)
  2371.          223:    Were MME files found in API$(28)
  2372.          224:    Were MME files found in API$(111)
  2373.          225:    Were MME files found in BBS directory?
  2374.          226:    File handle number for SERIAL.DBG
  2375.          227:    True if /ONLYREPS was used
  2376.          228:    Are we managing taglines?
  2377.          229:    Are we inside QmSetup()?
  2378.  
  2379.  
  2380.  
  2381.  
  2382.  
  2383.                                     Page 33 
  2384.  
  2385.  
  2386.  
  2387.          230:    Number of milliseconds to pause during an ANSI
  2388.                  position
  2389.          231:    Have we already tried to init the Sound Blaster?
  2390.          232:    Have we loaded a font?
  2391.          233:    Last interrupt number serviced
  2392.          234:    Returns the value of AL after an interrupt
  2393.          235:    Address of the API$() data segment
  2394.          236:    Address of the API$() data offset
  2395.          237:    Address of the API&() data segment
  2396.          238:    Address of the API&() data offset
  2397.          239:    Address of the CFG data segment
  2398.          240:    Address of the CFG data offset
  2399.          241:    Address of the DIALDIR data segment
  2400.          242:    Address of the DIALDIR data offset
  2401.          243:    Address of the Index() data segment
  2402.          244:    Address of the Index() data offset
  2403.          245:    Address of the CONF data segment
  2404.          246:    Address of the CONF data offset
  2405.          247:    Register pair AX returned after the interrupt
  2406.          248:    Register pair BX returned after the interrupt
  2407.          249:    Register pair CX returned after the interrupt
  2408.          250:    Register pair DX returned after the interrupt
  2409.          251:    Register pair SI returned after the interrupt
  2410.          252:    Register pair DI returned after the interrupt
  2411.          253:    Register pair DS returned after the interrupt
  2412.          254:    Register pair ES returned after the interrupt
  2413.          255:    Register pair SS returned after the interrupt
  2414.          256:    Register pair SP returned after the interrupt
  2415.          257:    Register Flags returned after the interrupt
  2416.          258:    Maximum number of lines per message
  2417.          259:    EMS handle for lines pointers stored in array
  2418.          260:    Scrollback segment address
  2419.          261:    Scrollback buffer size
  2420.          262:    Pointer into scrollback buffer
  2421.          263:    True if we are calling to order keyfile
  2422.          264:    Disable Desqview time slice
  2423.          265:    Modem redial delay
  2424.          266:    Enclosed file was found in the current message
  2425.  
  2426.  
  2427.  
  2428.  
  2429.                  1stReader Long Integer API table
  2430.          -------------------------------------------------------------
  2431.            0:    Serial number
  2432.            1:    Total number of records in MESSAGES.DAT
  2433.            2:    Total number of records in REPLY file
  2434.            3:    Beginning position of the bookmark inside the .QWK
  2435.            4:    Current baud rate
  2436.            5:    Last time a character was received in comm channel
  2437.            6:    Current message record number in MESSAGES.DAT
  2438.            7:    Total number of records in FOLDER
  2439.            8:    Highest message number in the base
  2440.            9:    CONNECT baud rate
  2441.  
  2442.  
  2443.  
  2444.  
  2445.                                     Page 34 
  2446.  
  2447.  
  2448.  
  2449.                  1stReader String API table
  2450.          -------------------------------------------------------------
  2451.            1:    Path to the packets subdirectory
  2452.            2:    Path to the download files subdirectory
  2453.            3:    Path to the programs files subdirectory
  2454.            4:    Path to the opening subdirectory
  2455.            5:    Path to the system subdirectory
  2456.            6:    Path to the reply packets subdirectory
  2457.            7:    Mail packet extension (Q*)
  2458.            8:    Reply packet extension (REP)
  2459.            9:    Mail packet filespec (No path)
  2460.           10:    Name of PACKET ID
  2461.           11:    Name of BBS
  2462.           12:    Mail packet name
  2463.           13:    Reply packet name
  2464.           14:    Path to BBS subdirectory
  2465.           15:    Path to the work subdirectory
  2466.           16:    Path to the replies subdirectory
  2467.           17:    Path to the services subdirectory
  2468.           18:    Path to the folders subdirectory
  2469.           19:    Last import file subdirectory
  2470.           20:    TWIT list filespec
  2471.           21:    Last folder filespec (no .FOL extension)
  2472.           22:    Current conference name
  2473.           23:    Name of the SERVICES.LST file
  2474.           24:    Last conference name
  2475.           25:    Release date
  2476.           26:    Suffix of the ID keyfile
  2477.           27:    Path to the .SET file
  2478.           28:    Path to the startup subdirectory
  2479.           29:    Path to the SYSTEM files subdirectory
  2480.           30:    Name of system
  2481.           31:    Telephone number
  2482.           32:    Sysop's name
  2483.           33:    Door ID
  2484.           34:    Date of packet
  2485.           35:    Time of packet
  2486.           36:    User's name
  2487.           37:    Second scan name
  2488.           38:    Third scan name
  2489.           39:    Name of system's phone book
  2490.           40:    Welcome filespec
  2491.           41:    BBS news filespec
  2492.           42:    Goodbye filespec
  2493.           43:    Quote name
  2494.           44:    Name of the bookmark file
  2495.           45:    CTRL sequences for OPTIONS
  2496.           46:    ALT translation string
  2497.           47:    Telephone number being dialed
  2498.           48:    Mail packet transfer protocol letter (defaults to
  2499.                  Zmodem)
  2500.           49:    Quote character
  2501.           50:    Full path to MESSAGES.DAT
  2502.           51:    Full path to the REPLY .MSG file
  2503.  
  2504.  
  2505.  
  2506.  
  2507.                                     Page 35 
  2508.  
  2509.  
  2510.  
  2511.           52:    Scan entry #1
  2512.           53:    Scan entry #2
  2513.           54:    Scan entry #3
  2514.           55:    Scan entry #4
  2515.           56:    PostLink routing site
  2516.           57:    Last directory viewed in reader menu
  2517.           58:    Path to the subdirectory being viewed in program
  2518.                  manager
  2519.           59:    Filespec currently selected in the program manager
  2520.           60:    Usenet Path
  2521.           61:    From
  2522.           62:    Newsgroups
  2523.           63:    Subject
  2524.           64:    Message ID
  2525.           65:    Date
  2526.           66:    References
  2527.           67:    Sender
  2528.           68:    Organization
  2529.           69:    Domain
  2530.           70:    Reply-To
  2531.           71:    To
  2532.           72:    Last color change issued by ANSI
  2533.           73:    Name of the USENET.ID file
  2534.           74:    User name in upper/lower case
  2535.           75:    User name in Usenet format
  2536.           76:    Comm port base address in HEX
  2537.           77:    String passed to program from DOS shell
  2538.           78:    String value present when QmEditor executed
  2539.           79:    Control name for door ADD/DROP
  2540.           80:    Name of the service file (no path or extension)
  2541.           81:    Last DOS command selected in QmMenu
  2542.           82:    Conference name (dots removed)
  2543.           83:    Current contents of the keyboard input buffer
  2544.           84:    Current conference name
  2545.           85:    Message number
  2546.           86:    Date
  2547.           87:    Time
  2548.           88:    Status
  2549.           89:    To
  2550.           90:    From
  2551.           91:    Subject
  2552.           92:    Refer
  2553.           93:    Reader
  2554.           94:    Serial number
  2555.           95:    Tagline
  2556.           96:    Actual PCB message header
  2557.           97:    Last color saved by @X00
  2558.           98:    Last highlight ANSI switch used
  2559.           99:    Fido Address (if any)
  2560.          100:    Current conference number
  2561.          101:    File request filespec
  2562.          102:    User's first name
  2563.          103:    Doorway ON string
  2564.          104:    Doorway OFF string
  2565.  
  2566.  
  2567.  
  2568.  
  2569.                                     Page 36 
  2570.  
  2571.  
  2572.  
  2573.          105:    PC Pursuit access number
  2574.          106:    PC Pursuit user ID
  2575.          107:    PC Pursuit password
  2576.          108:    PC Pursuit city ID
  2577.          109:    List of systems to call using /CALL or tagging
  2578.          110:    Linked script file
  2579.          111:    MME subdirectory
  2580.          112:    Log capture filespec
  2581.          113:    Name of reader for OEMS
  2582.          114:    Tagline entry
  2583.          115:    Date seperator
  2584.          116:    Temporary help file to pass
  2585.          117:    Path to the database subdirectory
  2586.          118:    Start time to call systems (using /CALL:)
  2587.          119:    Data to be replaced with "Ω" in the DOS shell
  2588.          120:    System IDs called in batch mode
  2589.          121:    Serial number of reader
  2590.          122:    Attached filename
  2591.          123:    Original script name
  2592.          124:    Last telephone number dialed
  2593.          125:    Swap filespec
  2594.          126:    Script file to execute BEFORE dialing phone number
  2595.          127:    Script file to execute AFTER dialing phone number
  2596.          128:    Modem dialing prefix #1
  2597.          129:    Attached filename on PCBoard
  2598.          130:    Full name of the $$1ST.LST file
  2599.          131:    Full name of the $$1ST.CMD file
  2600.          132:    Full name of the $$pp.LST file
  2601.          133:    Full name of the $$pp.CMD file
  2602.          134:    Name of conference .LST file
  2603.          135:    Name of conference .CMD file
  2604.          136:    Name of the .CFG file
  2605.          137:    Modem dialing prefix #2
  2606.          138:    Font filename
  2607.          139:    Command line used to start 1stReader
  2608.          140:    Last DOS command executed by 1stReader
  2609.          141:    Used if message is a return receipt from PCBoard
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.                                     Page 37 
  2632.  
  2633.  
  2634.  
  2635.          @Variables supported by 1stReader
  2636.          ---------------------------------
  2637.  
  2638.          This is a list of all @variables supported by 1stReader.  You
  2639.          may use these variables in any file, script, .CMD, or .LST
  2640.          file.
  2641.  
  2642.             Variable                 Description
  2643.             -------------------      ---------------------------------
  2644.             @CLREOL@                 Clears display to the end of line
  2645.             @DATE@                   Current system date
  2646.             @SYSDATE@                Current system date
  2647.             @TIME@                   Current system time
  2648.             @SYSTIME@                Current system time
  2649.             @TO@                     Message "TO" field
  2650.             @FROM@                   Message "FROM" field
  2651.             @SUBJECT@                Message "SUBJECT" field
  2652.             @GOODNAME@               Your name in upper/lower case
  2653.             @USENETNAME@             Your name in Usenet "." format
  2654.             @EDIT@                   DOS editor command
  2655.             @LIST@                   DOS list command
  2656.             @ORIGINAL@               Original message filespec
  2657.             @REPLY@                  Reply message filespec
  2658.             @BBSID@                  Qmail Door packet ID
  2659.             @MEMORY@                 Free memory available in 1st
  2660.             @VERSION@                1stReader release edition
  2661.             @PHONE@                  Telephone of the BBS
  2662.             @CONF@                   Current conference name
  2663.             @CONF2@                  Current conference (underscored)
  2664.             @FILEDIR@                files subdirectory
  2665.             @FIRST@                  First name (from BBS login field)
  2666.             @COMPORT@                Serial port entry in SETUP/COMM
  2667.             @DAY@                    Today's name (Mon, Tue, etc.)
  2668.             @POS:nn@                 Tabs to column "nn" (one per line
  2669.                                      only)
  2670.  
  2671.             @API$(xxx)               This variable reads the 1stReader
  2672.                                      API string table and is replaced
  2673.                                      with the current value.
  2674.  
  2675.             @API(xxx)                This variable reads the 1stReader
  2676.                                      API integer table and is replaced
  2677.                                      with the current value.
  2678.  
  2679.             @API&(xxx)               This variable reads the 1stReader
  2680.                                      API long integer table and is
  2681.                                      replaced with the current value.
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.                                     Page 38 
  2694.  
  2695.  
  2696.  
  2697.             @SWITCH(xx)              This variable reads the 1stReader
  2698.                                      switches table.  If the switch is
  2699.                                      turned ON then a "-1" is
  2700.                                      returned.  Otherwise, a "0" is
  2701.                                      returned.  See the "SWITCH"
  2702.                                      script function for a complete
  2703.                                      list of switch numbers.
  2704.  
  2705.             @REPLACE(xx)             At times 1stReader will pass
  2706.                                      arguments to batch files using
  2707.                                      '%1', '%2' or '%3'.  You can
  2708.                                      call these replacement variables
  2709.                                      directly if you wish.
  2710.  
  2711.          These @variables are available if you are reading a message
  2712.          from a 'Usenet' conference:
  2713.  
  2714.             @U-PATH@                 'Path' line in message
  2715.             @U-FROM@                 'From' line in message
  2716.             @U-NEWSGROUPS@           'Newsgroups' line in message
  2717.             @U-SUBJECT@              'Subject' line in message
  2718.             @U-MESSAGE-ID@           'Message-ID' line in message
  2719.             @U-DATE@                 'Date' line in message
  2720.             @U-REFERENCES@           'References' line in message
  2721.             @U-SENDER@               'Sender' line in message
  2722.             @U-ORGANIZATION@         'Organization' line in message
  2723.             @U-DOMAIN@               'Domain' line in message
  2724.             @U-REPLY-TO@             'Reply-To' line in message
  2725.  
  2726.          1stReader will also substitute any DOS environment variables
  2727.          by enclosing them in "%" characters.  For example, %PATH%
  2728.          would be replaced with the DOS path from your environment.
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.                                     Page 39 
  2756.  
  2757.  
  2758.  
  2759.          1stReader script language
  2760.          -------------------------
  2761.  
  2762.          Script commands are in FULL CAPITAL letters.  Required values
  2763.          are enclosed in <arrows> and optional values are enclosed in
  2764.          [brackets].  Of course, do not include these characters in
  2765.          the actual command.
  2766.  
  2767.          Sometimes command parameters will be enclosed by quotation
  2768.          marks.  If present in the command description then these
  2769.          quotation marks are required in the actual command line.
  2770.  
  2771.  
  2772.          @API$(xxx)="value"                            Type: command
  2773.          @API&(xxx)=value
  2774.          @API(xxx)=value
  2775.          @SWITCH(xxx)=value
  2776.  
  2777.          These commands let the scripts modify the 1stReader API.  See
  2778.          the API definition list to determine the correct value for
  2779.          "xxx" for each variable.
  2780.  
  2781.  
  2782.          ABORT <value>                                 Type: command
  2783.  
  2784.          The ABORT command works with the TIMEOUT command to determine
  2785.          how many carriage returns must be sent (without a response
  2786.          back from the BBS) before 1stReader declares the script to be
  2787.          'locked up'.  If the number of carriage returns transmitted
  2788.          exceed <value> then the script is aborted by 1stReader.
  2789.  
  2790.  
  2791.  
  2792.          API <value>                                   Type: function
  2793.  
  2794.          The API function reads the integer API table for entry
  2795.          <value>.  Some API values are flags that can be tested for ON
  2796.          or OFF conditions.  This function lets you conduct those
  2797.          tests.
  2798.  
  2799.  
  2800.          AUTOEXIT <on|off>                             Type: command
  2801.  
  2802.          The AUTOEXIT command controls how 1stReader will exit out of
  2803.          the TERMINAL mode.  If AUTOEXIT ON is set then if carrier is
  2804.          lost while the user is in terminal mode, 1stReader will exit
  2805.          the script.  AUTOEXIT OFF causes 1stReader to stay in the
  2806.          terminal mode until the user presses ALT+X to exit.
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.                                     Page 40 
  2818.  
  2819.  
  2820.  
  2821.          BREAK [value]                                 Type: command
  2822.  
  2823.          Sends a TRUE break signal to the host computer.  [value] is
  2824.          the number of 18ths of a second to hold the break signal.
  2825.          If [value] is omitted then 1stReader uses 18 as a default.
  2826.  
  2827.  
  2828.          CALL <script file> [label]                    Type: command
  2829.  
  2830.          The CALL script command lets you call another script file
  2831.          and then when the script exits control returns back to the
  2832.          original script that was running.  This command helps
  2833.          modularize script functions without having a maze of GOTOs
  2834.          to get back to the original script.
  2835.  
  2836.          You can specify a label to start execution of <script file>
  2837.          by adding it to the CALL command.
  2838.  
  2839.  
  2840.          CAPTURE <on|off>                              Type: command
  2841.  
  2842.          The CAPTURE command will open a file named <BBSID>.CAP in the
  2843.          1stReader system subdirectory.  This file will capture the
  2844.          screens displayed by 1stReader so you can review it later.
  2845.          If the capture file is left open when a script terminates
  2846.          then 1stReader will close the capture file automatically.
  2847.  
  2848.  
  2849.          CHECKTIME(hh:mm,hh:mm)                        Type: function
  2850.  
  2851.          CHECKTIME accepts two times (in military format).  The first
  2852.          "hh:mm" represents the START time to check and the last
  2853.          "hh:mm" represents the END time to check.  If the current
  2854.          time IS BETWEEN these two values then this function is set to
  2855.          TRUE.  Otherwise, the function returns FALSE.
  2856.  
  2857.  
  2858.          CLS                                           Type: command
  2859.  
  2860.          The CLS command will clear the screen and set the cursor to
  2861.          the top of the screen.
  2862.  
  2863.  
  2864.          COMMENT "string"                              Type: command
  2865.  
  2866.          This command lets you display a comment on the screen in the
  2867.          area setup below the LOCKLINE value.
  2868.  
  2869.  
  2870.          COUNT <qwk|rep>                               Type: command
  2871.  
  2872.          The COUNT command increments the number of QWK mail packets
  2873.          received and the number of REP mail packets uploaded to the
  2874.          bulletin board system.
  2875.  
  2876.  
  2877.  
  2878.  
  2879.                                     Page 41 
  2880.  
  2881.  
  2882.  
  2883.          DEBUG                                         Type: function
  2884.  
  2885.          The DEBUG function lets you test to see if DEBUG SCRIPTS
  2886.          (switch #18) has been turned on by the user.  You could use
  2887.          the SWITCH function to test for this condition but the DEBUG
  2888.          function provides better script readability.
  2889.  
  2890.  
  2891.          DISCONNECT <baud rate>                        Type: command
  2892.  
  2893.          Some systems you may call have high speed and low speed
  2894.          lines.  You might try to connect to a node capable of 38400
  2895.          baud but since all high speed nodes are busy you end up
  2896.          connect to a 2400 baud node.  Obviously, if you are using
  2897.          1stReader in the middle of the night on automatic you do not
  2898.          want to make a full mail run at the lower speed.
  2899.  
  2900.          The DISCONNECT <baud rate> command tells 1stReader that if
  2901.          you connect at speeds lower than <baud rate> to disconnect
  2902.          from the system.  Example:
  2903.  
  2904.                       IF DISCONNECT 9600 THEN GOTO LOGOFF
  2905.  
  2906.          If you connected to the system at less than 9600 baud then
  2907.          control is sent to the LOGOFF label.
  2908.  
  2909.  
  2910.          DOWNLOAD <filespec>                           Type: command
  2911.  
  2912.          The DOWNLOAD command will download <filespec> using the
  2913.          Zmodem file transfer protocol.
  2914.  
  2915.  
  2916.          EDIT <filespec>                               Type: command
  2917.  
  2918.          The EDIT command lets you edit <filespec> from inside a
  2919.          script.  If <filespec> does not exist it will be created for
  2920.          you.
  2921.  
  2922.  
  2923.          EXIT                                          Type: command
  2924.  
  2925.          The EXIT command will immediately disconnect the BBS and exit
  2926.          the script.  You should use it if you wish to exit a script
  2927.          without waiting for the BBS to disconnect from you.
  2928.  
  2929.  
  2930.  
  2931.  
  2932.  
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.                                     Page 42 
  2942.  
  2943.  
  2944.  
  2945.          FLAG <filespec> <byte_num>                    Type: function
  2946.  
  2947.          This script function is intended to use <filespec> as a set
  2948.          of external 'semaphores' for scripts.  You can use this
  2949.          function to check the value of <byte_num> in <filespec>.  If
  2950.          the value of <byte num> is ZERO then FLAG returns a FALSE
  2951.          condition, otherwise it returns TRUE.  You can use this
  2952.          function in a IF THEN statement to branch depending if a
  2953.          semaphore is turned on or not.
  2954.  
  2955.  
  2956.          FOUND=<value>                                 Type: function
  2957.  
  2958.          The FOUND function returns which prompt string was found
  2959.          using a WAITFOR command.  If a WAITFOR command uses multiple
  2960.          target prompts (example: WAITFOR "Yes|No") the FOUND=
  2961.          function will return a value of "1" if "Yes" was found or "2"
  2962.          if "No" was found.
  2963.  
  2964.  
  2965.          GOSUB <label>                                 Type: command
  2966.  
  2967.          The GOSUB command lets you call a subroutine in your script
  2968.          that is located at <label>.  You can nest up to 20 GOSUB
  2969.          calls in one script.
  2970.  
  2971.  
  2972.          GOTO <label>                                  Type: command
  2973.  
  2974.          The GOTO command transfers flow of the script to <label>.  A
  2975.          label always starts with a colon and is one word long on a
  2976.          line by itself.  Up to 100 labels may be defined in a script.
  2977.  
  2978.  
  2979.          HANGUP                                        Type: command
  2980.  
  2981.          The HANGUP command will immediately terminate the connection
  2982.          to the remote BBS.
  2983.  
  2984.  
  2985.          HELP <number>                                 Type: command
  2986.  
  2987.          The HELP command displays the online help available from
  2988.          inside 1stReader's HELP files.  See the list of HELP
  2989.          functions for more information.
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.                                     Page 43 
  3004.  
  3005.  
  3006.  
  3007.          IF ......                                    Type: statement
  3008.  
  3009.          You may use the IF statement to test for various conditions
  3010.          and execute a command based on the results.  The syntax of
  3011.          the IF statement is:
  3012.  
  3013.                               IF <function> THEN <command>
  3014.  
  3015.          You may use any <function> defined in the script language and
  3016.          combine it with any <command> as the object of the IF
  3017.          statement.
  3018.  
  3019.          1stReader also provides for a NOT modifier so you can test if
  3020.          a particular function is not true.  The NOT statement must
  3021.          come before the <function>.  The syntax of the IF statement
  3022.          using a NOT modifier is:
  3023.  
  3024.                            IF NOT <function> <command>
  3025.  
  3026.  
  3027.          KEYSTROKE=<value>                             Type: function
  3028.  
  3029.          This function returns the ASCII value of the keystroke given
  3030.          to the last PAUSE command.  If a lower case character was
  3031.          pressed then 1stReader automatically converts it to upper
  3032.          case for you.
  3033.  
  3034.                  Example:
  3035.  
  3036.                  PAUSE
  3037.                  IF KEYSTROKE=13 ....          ' Enter was pressed
  3038.                  IF KEYSTROKE=27 ....          ' ESC key was pressed
  3039.                  IF KEYSTROKE=32 ....          ' Space bar pressed
  3040.  
  3041.  
  3042.          KILL <filespec>                               Type: command
  3043.  
  3044.          The KILL command will erase <filespec> from the drive.
  3045.  
  3046.  
  3047.          LIST <filespec>                               Type: command
  3048.  
  3049.          The LIST command will display a text file using the internal
  3050.          file lister.  The difference between the SHOW and LIST
  3051.          commands is that the SHOW command loads the text into memory
  3052.          and displays it using the help screen while LIST will display
  3053.          any size file using the internal list routines.
  3054.  
  3055.  
  3056.          LOCATE <row>,<column>                         Type: command
  3057.  
  3058.          The LOCATE command locates the cursor at <row>,<column> on
  3059.          the screen.  You can use this command to position the cursor
  3060.          just before a PRINT statement to position text on the screen.
  3061.  
  3062.  
  3063.  
  3064.  
  3065.                                     Page 44 
  3066.  
  3067.  
  3068.  
  3069.          LOCKLINE <row> <attribute>                    Type: command
  3070.  
  3071.          The LOCKLINE command lets you allocate a section of the
  3072.          screen for COMMENTs from the script file.  <row> is the row
  3073.          number on the screen (rows 1 through 24) to "lock" so
  3074.          comments may be printed below it.  In other words, <row> is
  3075.          the last row that information received from the BBS is
  3076.          displayed.  Immediately after <row> a line is drawn by
  3077.          1stReader.  <attribute> is the color attribute value that is
  3078.          used to paint the remaining rows underneath the solid line.
  3079.  
  3080.  
  3081.          LOOKFOR "prompt string" "transmit string"     Type: command
  3082.  
  3083.          The LOOKFOR command is used to scan incoming data for "prompt
  3084.          string" and if found, transmit "transmit string".  If you
  3085.          wish to remove a LOOKFOR command that is already in place use
  3086.          the syntax LOOKFOR "prompt string" "".  The null string in
  3087.          place of the "transmit string" tells 1stReader to remove the
  3088.          LOOKFOR command.  Remember, the "prompt string" must match
  3089.          the original string.  Up to 10 LOOKFORs may be active at any
  3090.          one time.
  3091.  
  3092.          You can also use the LOOKFOR statement "@HANGUP@" to have
  3093.          a script automatically terminated if a particular string
  3094.          is found.  Example:  LOOKFOR "search string" "@HANGUP@"
  3095.  
  3096.  
  3097.          MME <filespec>                                Type: command
  3098.  
  3099.          The MME command lets your scripts play .VOC, .CMF or .MME
  3100.          files through a Sound Blaster (or compatible) card.  The
  3101.          Multimedia switch must be turned on in SETUP/SWITCHES in
  3102.          order to play <filespec>.
  3103.  
  3104.  
  3105.          NEWFILES <ON|OFF>                             Type: command
  3106.  
  3107.          The NEWFILES command tells 1stReader that the bulletin board
  3108.          system can use the NEWFILES.EXE program to display the list
  3109.          of new files.  Otherwise, new files lists are displayed
  3110.          internally by the reader.
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.                                     Page 45 
  3128.  
  3129.  
  3130.  
  3131.          NEW_PASSWORD                                  Type: command
  3132.  
  3133.          NEW_PASSWORD will generate a new password your user account
  3134.          that is eight characters of random letters.  This command
  3135.          is used together with the SET_PASSWORD command to create a
  3136.          new password your bulletin board login account.  Some systems
  3137.          (PCBoard 15.0 for example) can force you to change your
  3138.          password at different times.  These two script commands let
  3139.          1stReader changes your password for you automatically.
  3140.  
  3141.          The new password is assigned to the @PASSWORD@ variable.
  3142.  
  3143.  
  3144.          PAUSE [seconds]                               Type: command
  3145.  
  3146.          The PAUSE command will pause execution of the script for
  3147.          [seconds].  If you do not use a [seconds] argument then the
  3148.          script will pause until you press any key.
  3149.  
  3150.  
  3151.          PLAY "string"                                 Type: command
  3152.  
  3153.          This command will play the ANSI music enclosed in "string"
  3154.          through the PC's internal speaker (if the MUSIC switch has
  3155.          been turned ON).
  3156.  
  3157.  
  3158.          PROMPT <text>                                 Type: command
  3159.  
  3160.          This script command will display a boxed prompt for two
  3161.          seconds in the middle of the screen containing <text>.
  3162.  
  3163.  
  3164.          REQ_FILE <filespec> <conference>              Type: command
  3165.  
  3166.          The REQ_FILE command will let a script add a file request to
  3167.          the current file request list.  <filespec> is the name of
  3168.          the file to download and <conference> is the conference
  3169.          number where the file can be found.
  3170.  
  3171.  
  3172.          REQ_SETFILE <filespec>                        Type: command
  3173.  
  3174.          This command tells 1stReader to read <filespec> to find
  3175.          files requested from the NEWFILES.EXE program.
  3176.  
  3177.  
  3178.          REQ_NEXT                                      Type: command
  3179.  
  3180.          REQ_NEXT reads <filespec> (used by REQ_SETFILE) to find the
  3181.          next file request in <filespec>.  You can find out if a file
  3182.          was found by REQ_NEXT by using the REQ_DONE function.
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.                                     Page 46 
  3190.  
  3191.  
  3192.  
  3193.          REQ_DONE                                      Type: function
  3194.  
  3195.          This function is set to TRUE if 1stReader cannot locate a
  3196.          file request in the file set by REQ_SETFILE.  Use this
  3197.          function in a IF-THEN statement to stop reading the file.
  3198.  
  3199.  
  3200.          REQ_CONF                                      Type: function
  3201.  
  3202.          This function is set to the conference number that contains
  3203.          the next file to download.  If REQ_CONF is set to ZERO then
  3204.          the next file is located in the current subdirectory.
  3205.  
  3206.  
  3207.          REQ_SET                                       Type: command
  3208.  
  3209.          The REQ_SET command will set a flag in <filespec> that tells
  3210.          1stReader that @REQ_FILE@ has been downloaded successfully.
  3211.  
  3212.  
  3213.          REPLIES                                       Type: function
  3214.  
  3215.          The REPLIES function will check to see if a @BBSID@.REP file
  3216.          exists in the packets subdirectory.  Use this function with
  3217.          an IF statement to determine if replies are on file and
  3218.          should be uploaded.
  3219.  
  3220.  
  3221.          RETURN [label]                                Type: command
  3222.  
  3223.          The RETURN command returns execution of the 1stReader script
  3224.          to the next command after the calling GOSUB command.  If you
  3225.          include the optional [label] then execution resumes at the
  3226.          statement following the label.
  3227.  
  3228.  
  3229.          RUN <script filespec> [label]                 Type: command
  3230.  
  3231.          The RUN command lets you load a new script into 1stReader.
  3232.          If you include the optional [label] then execution will begin
  3233.          at the label.
  3234.  
  3235.  
  3236.          SET_FLAG <filespec> <byte_num> <ON|OFF>       Type: command
  3237.  
  3238.          This script command compliments the FLAG function described
  3239.          earlier, except this command will either turn the byte
  3240.          <byte_num> located in <filespec> to ZERO (for OFF) or to ONE
  3241.          (for ON).  You can use this command to set a flag in an
  3242.          external file so scripts can branch depending on the value
  3243.          of <byte_num>.
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.  
  3251.                                     Page 47 
  3252.  
  3253.  
  3254.  
  3255.          SET_PASSWORD                                  Type: command
  3256.  
  3257.          This command is to be used along with the NEW_PASSWORD
  3258.          command to generate a new password for your login account.
  3259.          The SET_PASSWORD command writes the new password created by
  3260.          the reader to your dialing directory entry.  Otherwise, the
  3261.          password would NOT be saved by 1stReader.
  3262.  
  3263.  
  3264.          SHOW <filespec>                               Type: command
  3265.  
  3266.          The SHOW command will display a short text file on the
  3267.          screen.  The difference between the SHOW and LIST commands is
  3268.          that the SHOW command loads the text into memory and displays
  3269.          it using the help screen while LIST will display any size
  3270.          file using the internal list routines.
  3271.  
  3272.  
  3273.          SWITCH <value>                                Type: function
  3274.  
  3275.          The SWITCH function lets you query the 1stReader switch
  3276.          settings.  You can then use an IF statement to take action
  3277.          based on the way a particular switch is set.  <value>
  3278.          corresponds to the following table:
  3279.  
  3280.  
  3281.                       Value     Switch description
  3282.                       -----     ------------------
  3283.                         1       Advanced features
  3284.                         2       Use bookmarks
  3285.                         3       External editor
  3286.                         4       Color monitor
  3287.                         5       Sound
  3288.                         6       Auto list messages
  3289.                         7       Sort systems
  3290.                         8       Random taglines
  3291.                         9       Music
  3292.                        10       MultiMedia
  3293.                        11       Use mouse
  3294.                        12       Auto position mouse
  3295.                        13       FIDO taglines
  3296.                        14       Use DTR to hangup
  3297.                        15       PostLink routing
  3298.                        16       Load 1STTEXT
  3299.                        17       Top of form on printer
  3300.                        18       Debug scripts
  3301.                        19       Log calls
  3302.                        20       Save new file lists
  3303.                        21       SuperShell to DISK
  3304.                        22       SuperShell to EMS
  3305.                        23       Skip messages you have read
  3306.                        24       Terminal alarms
  3307.                        25       Sort conferences
  3308.                        26       Large message screen
  3309.  
  3310.  
  3311.  
  3312.  
  3313.                                     Page 48 
  3314.  
  3315.  
  3316.  
  3317.                        27       Using 4DOS
  3318.                        28       Lock serial port
  3319.                        29       Auto alias
  3320.                        30       Show packet names
  3321.                        31       Trim quotes
  3322.                        32       Disable ANSI messages
  3323.                        33       Quick scan messages
  3324.                        34       Clear input fields
  3325.                        35       Ask on ANSI messages
  3326.                        36       Skip messages from you
  3327.  
  3328.          Remember you may use the IF NOT condition to see if a
  3329.          particular switch has been turned OFF.
  3330.  
  3331.  
  3332.          TERMINAL                                      Type: command
  3333.  
  3334.          The TERMINAL command does not have any arguments.  It will
  3335.          send the user into an immediate terminal mode.  To exit the
  3336.          terminal mode and return to the script press ALT+X.
  3337.  
  3338.  
  3339.          TERSE                                         Type: command
  3340.  
  3341.          This script command has no parameters...it is used to switch
  3342.          PCBoard systems from the standard 'text' display mode to a
  3343.          'terse' display mode.  This makes it possible for 1stReader
  3344.          scripts to be 'language independent' and work on all PCBoard
  3345.          systems.  The price you pay is that you also give up seeing
  3346.          the normal text prompts and instead see only  TXTnnn
  3347.          prompts.
  3348.  
  3349.  
  3350.          TRANSMIT "string"                             Type: command
  3351.  
  3352.          The TRANSMIT command will transmit "string" to the remote
  3353.          system.
  3354.  
  3355.  
  3356.          TRANSMIT; "string"                            Type: command
  3357.  
  3358.          This command works just like the TRANSMIT command except that
  3359.          any embedded spaces are converted into semi-colons.  For
  3360.          example, TRANSMIT; "Mark Herring" would be converted into
  3361.          "Mark;Herring".  This command can be used to log into systems
  3362.          that require semi-colons for a single-line login.
  3363.  
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.  
  3372.  
  3373.  
  3374.  
  3375.                                     Page 49 
  3376.  
  3377.  
  3378.  
  3379.          TIMEOUT <seconds>                             Type: command
  3380.  
  3381.          The TIMEOUT command sets the number of seconds that must pass
  3382.          without receiving data from the remote system before the
  3383.          reader will transmit a carriage return.  This command is used
  3384.          to catch situations where you might be sitting at the
  3385.          "Command?" prompt on PCBoard yet the script may not catch it.
  3386.          If you wish to disable the TIMEOUT completely use a value of
  3387.          0 seconds.
  3388.  
  3389.  
  3390.          UPLOAD <filespec>                             Type: command
  3391.  
  3392.          The UPLOAD command will upload <filespec> using the Zmodem
  3393.          file transfer protocol.
  3394.  
  3395.  
  3396.          WAITFOR "prompt string" [seconds]             Type: command
  3397.  
  3398.          The WAITFOR command scans incoming text for "prompt string".
  3399.          When "prompt string" has been found execution of the script
  3400.          continues.  [seconds] is an optional value that can be added
  3401.          to the command so that WAITFOR only waits for [seconds] for
  3402.          "prompt string" to be found.  If [seconds] pass with or
  3403.          without finding "prompt string" execution of the script
  3404.          continues.
  3405.  
  3406.          You can scan for more than one value by separating the values
  3407.          using "|" bar characters.  For example, WAITFOR "Yes|No"
  3408.          would wait for either "Yes" or "No" to be received.  You can
  3409.          later test which value was received by using the FOUND=
  3410.          function.
  3411.  
  3412.  
  3413.          WEEKDAY                                       Type: function
  3414.  
  3415.          The WEEKDAY function returns the day of the week in numeric
  3416.          form.  Sunday=1, Monday=2, Tuesday=3, Wednesday=4,
  3417.          Thursday=5, Friday=6, Saturday=7.  You can use this function
  3418.          with the IF function to find out which day of the week today
  3419.          falls upon.
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.                                     Page 50 
  3438.  
  3439.  
  3440.  
  3441.          Special @variables
  3442.  
  3443.          1stReader maintains special @variables that can be used by
  3444.          scripts.  Here is a list of variables supported:
  3445.  
  3446.  
  3447.             @BBSNAME@               The name of the BBS.
  3448.  
  3449.             @USER@                  The name of the LOGIN field in the
  3450.                                     BBS record.
  3451.  
  3452.             @PASSWORD@              The password field in the BBS
  3453.                                     record.
  3454.  
  3455.             @SYSTEMDIR@             Location of the 1stReader system
  3456.                                     subdirectory.
  3457.  
  3458.             @PACKETDIR@             Location of the mail packet
  3459.                                     subdirectory.
  3460.  
  3461.             @DLDIR@                 Location of the file download
  3462.                                     subdirectory.
  3463.  
  3464.             @REPDIR@                Location of the replies
  3465.                                     subdirectory.
  3466.  
  3467.             @PROGDIR@               Location of the PROGRAMS
  3468.                                     subdirectory.
  3469.  
  3470.             @LANGAUGE@              The language version field from
  3471.                                     the BBS record.  If the language
  3472.                                     value is set to "0" then this
  3473.                                     variable will be set to blank.
  3474.  
  3475.             @QMAIL@                 This variable is set to the name
  3476.                                     of the door command for the
  3477.                                     BBS.
  3478.  
  3479.             @COMMAND@               This variable will check to see if
  3480.                                     a reply packet is available for
  3481.                                     uploading.  If a packet is found
  3482.                                     then "U;D" is assigned to the
  3483.                                     variable.  Otherwise, "D" is
  3484.                                     assigned.
  3485.  
  3486.             @CONFERENCE@            The conference number field from
  3487.                                     the BBS record.  This value is
  3488.                                     used to join a conference before
  3489.                                     calling the mail door if it is to
  3490.                                     be called from another conference.
  3491.  
  3492.             @DATE@                  Replaced with today's date.
  3493.  
  3494.             @TIME@                  Replaced with the current time.
  3495.  
  3496.  
  3497.  
  3498.  
  3499.                                     Page 51 
  3500.  
  3501.  
  3502.  
  3503.             @GRAPHICS@              Set to "Y" if you have enabled
  3504.                                     graphics for this BBS.  Otherwise,
  3505.                                     it is set to "N".
  3506.  
  3507.             @FIRST@                 Set to the user's FIRST name.
  3508.  
  3509.             @REQ_FILE@              Filespec read from the file
  3510.                                     request file set by REQ_SETFILE
  3511.                                     command.
  3512.  
  3513.  
  3514.  
  3515.          Special characters
  3516.          ------------------
  3517.  
  3518.          1stReader interprets two special characters for values.  The
  3519.          first character is a carat "^".  1stReader will convert the
  3520.          next character, if alphabetical, into a CONTROL sequence.
  3521.          For example, "^G" will ring a bell or "^M" is a carriage
  3522.          return.
  3523.  
  3524.          You can also use "X'" to convert any hexadecimal value into a
  3525.          single character.  For example, "X'1B" converts into the ESC
  3526.          character.
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.                                     Page 52 
  3562.  
  3563.  
  3564.  
  3565.          Hints and Tips
  3566.          --------------
  3567.          This section contains 1stReader features and hints that do
  3568.          not necessarily fit into any of the other areas discussed
  3569.          earlier.
  3570.  
  3571.  
  3572.  
  3573.          Support for .BIN and .B1N files
  3574.          -------------------------------
  3575.  
  3576.          1stReader can display .BIN files created by THEDRAW.  1st
  3577.          also supports what we call ".B1N" (Bee One Enn) files.  A
  3578.          .B1N file contains TWO .BIN files copied together.  The first
  3579.          4000 bytes of the file (or the first .BIN file) is a
  3580.          monochrome version of the screen display.  The second
  3581.          4000 bytes (or the second .BIN file) contains the color
  3582.          version.  You can create a .B1N file by creating two .BIN
  3583.          files inside THEDRAW and then copying them together at the
  3584.          DOS command prompt, like this:
  3585.  
  3586.                          COPY TEST.B1N+MONO.BIN+COLOR.BIN
  3587.  
  3588.          1stReader displays the monochrome version of the file if the
  3589.          color display switch is turned OFF.  Otherwise, the color
  3590.          version of the file is displayed.
  3591.  
  3592.          1stReader will find .BIN and .B1N files when looking for
  3593.          $$CALL files.  The order of the search is:
  3594.  
  3595.                                      .ASC
  3596.                                      .ANS
  3597.                                      .B1N
  3598.                                      .BIN
  3599.  
  3600.  
  3601.  
  3602.          The WELCOME file
  3603.          ----------------
  3604.  
  3605.          When you startup 1stReader it will look for a file named
  3606.          WELCOME in the system subdirectory.  This can be a customized
  3607.          file created by the user.  WELCOME.ASC, WELCOME.ANS,
  3608.          WELCOME.B1N, WELCOME.BIN and WELCOME.GIF are supported.
  3609.  
  3610.  
  3611.  
  3612.  
  3613.  
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.                                     Page 53 
  3624.  
  3625.  
  3626.  
  3627.          Using KEYBOARD.$$$ from the internal editor
  3628.          -------------------------------------------
  3629.  
  3630.          If you shell to a program while inside 1stReader's internal
  3631.          editor and KEYBOARD.$$$ is created, then KEYBOARD.$$$ is
  3632.          pasted into the text at the current cursor location when
  3633.          control returns to 1stReader.
  3634.  
  3635.          This feature lets third-party developers create "Usenet
  3636.          address books" so they can pass back Usenet addresses into
  3637.          replies.  Of course, there can be hundreds of uses for this
  3638.          feature too.
  3639.  
  3640.  
  3641.  
  3642.          Pre-Print and Post-Print strings
  3643.          --------------------------------
  3644.  
  3645.          You can add pre- and post-printing initialization strings to
  3646.          1stReader by using our 1STTEXT.EXE editing program.  This
  3647.          program, which is available on our customer support system
  3648.          (you can use our DLXTEXT.EXE program too) lets you edit the
  3649.          1STTEXT file.
  3650.  
  3651.          Record #282 is reserved for any printer initialization string
  3652.          you require.  Record #283 is reserved for any post-printing
  3653.          string you require.  If you need to send more than 78
  3654.          characters to the printer you can tell 1stReader to read the
  3655.          characters from a file.  Use "FILE=<filespec>" in record
  3656.          #282/#283 and 1stReader will read <filespec> for the strings.
  3657.  
  3658.  
  3659.  
  3660.          Printer definition
  3661.          ------------------
  3662.  
  3663.          Record #273 in 1STTEXT is used to declare the name of the
  3664.          printer on your system.  Currently, it defaults to "PRN" but
  3665.          you can send printer output anywhere you wish by changing
  3666.          record #273.
  3667.  
  3668.  
  3669.  
  3670.          Create your OWN help files
  3671.          --------------------------
  3672.  
  3673.          You can "over-ride" the internal help screens we have
  3674.          provided in 1stReader by creating your own HELP.xxx files.
  3675.          "xxx" corresponds to the help record number.  You can create
  3676.          custom help files for a BBS by storing them in the BBS
  3677.          subdirectory.  Or, you can globally affect the files by
  3678.          storing them in the SYSTEM subdirectory.
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.                                     Page 54 
  3686.  
  3687.  
  3688.  
  3689.          1stReader is network ready
  3690.          --------------------------
  3691.  
  3692.          You can run multiple users from one copy of 1stReader kept on
  3693.          a network.  Or, you can let family members keep their own
  3694.          setups without requiring multiple copies of 1stReader.
  3695.  
  3696.          All you need to do is to create separate subdirectories for
  3697.          each user.  You could name them C:\1ST\JOHN, C:\1ST\BILL,
  3698.          etc.  You can even place them on separate drives if you wish.
  3699.          Each user subdirectory MUST have a copy of 1ST.SET and
  3700.          1ST.KEY in order to work.  1stReader will create unique files
  3701.          and BBS subdirectories for each user.
  3702.  
  3703.          In order to find the 1stReader system files, you need to use
  3704.          the DOS environment variable "SET 1ST=C:\1ST\" (change this
  3705.          to point to your 1stReader SYSTEM location) in your
  3706.          AUTOEXEC.BAT file.  This lets 1st find the files it needs to
  3707.          run over a networked system.  Remember, you must still
  3708.          execute the program by typing C:\1ST\1ST from the DOS command
  3709.          line or a batch file.
  3710.  
  3711.          IMPORTANT NOTICE: YOU *MUST* PURCHASE MULTIPLE COPIES OF
  3712.                            1STREADER FOR EACH USER ON YOUR SYSTEM
  3713.                            IF USED IN A BUSINESS.  IT IS A VIOLATION
  3714.                            OF OUR LICENSE AGREEMENT AND COPYRIGHTS IF
  3715.                            YOU ALLOW MULTIPLE USERS TO OPERATE
  3716.                            1STREADER USING THE SAME 1ST.KEY FILE.
  3717.  
  3718.          Notice to families:  We consider 1stReader to be 'marital
  3719.                               property'.  Any family member who
  3720.                               lives under your roof may use your
  3721.                               copy of 1stReader.
  3722.  
  3723.  
  3724.  
  3725.          GO.ASC, GO.ANS, GO.BIN, GO.B1N
  3726.          ------------------------------
  3727.  
  3728.          In the file manager, after you select a subdirectory, if
  3729.          1stReader finds any of these files in the current
  3730.          subdirectory they are immediately displayed to the user.
  3731.  
  3732.          The idea behind this feature is to allow archived programs
  3733.          and "services" that are sent by some mail systems to have
  3734.          their own "introduction" when used with 1stReader.
  3735.  
  3736.          A word about services and 1stReader.  Offline games are now
  3737.          very easy to create using 1stReader's service capabilities.
  3738.          Your game can use one of these GO display files to welcome
  3739.          the user to the game.  If a READ.ME file is found in the
  3740.          service then that file is automatically displayed to the
  3741.          user (game news or rules could be posted here).  Finally, you
  3742.          can provide a GO.BAT file so all the user has to do to start
  3743.  
  3744.  
  3745.  
  3746.  
  3747.                                     Page 55 
  3748.  
  3749.  
  3750.  
  3751.          your game is to click on the "GO" button.  Your game software
  3752.          can then write any files that are needed to be sent back up
  3753.          to the mail system by storing them inside the REP-WORK
  3754.          subdirectory.  The contents of this subdirectory are
  3755.          compressed into the .REP mail packet and transmitted back to
  3756.          the mail system.
  3757.  
  3758.          If you are interested in creating offline games for use with
  3759.          mail systems that support services and 1stReader, please give
  3760.          our customer support system a call.  We'll be happy to show
  3761.          you everything you need.
  3762.  
  3763.          Trivia games could be a good example of an offline game.
  3764.  
  3765.  
  3766.  
  3767.          Automatic DOORWAY ON and DOORWAY OFF modes
  3768.          ------------------------------------------
  3769.  
  3770.          If you call a bulletin board system using Doorway 2.22 from
  3771.          Marshall Dudley then 1stReader can automatically switch into
  3772.          and out of 'Doorway mode' while connected to the system.
  3773.          Doorway 2.22 transmits codes that 1stReader watches for and
  3774.          when found, turns 'Doorway mode' ON or OFF for the user.
  3775.          Note:  This feature requires use of Doorway 2.22 (or later).
  3776.  
  3777.  
  3778.  
  3779.          "Header" files
  3780.          --------------
  3781.  
  3782.          1stReader supports "Header" files that can be used in your
  3783.          editor whenever you enter a message.  If the file
  3784.          "HEADER.HDR" is found in either the BBS or SYSTEM
  3785.          subdirectory, then 1stReader will read it and copy it into
  3786.          the "top" of your reply.  You can use any @variable you wish
  3787.          in your header.
  3788.  
  3789.          1stReader also looks for the text "∙HEADER:<name>" in a
  3790.          message.  If this text is found and <name>.HDR exists in
  3791.          either the BBS or SYSTEM subdirectories, then 1stReader uses
  3792.          this header file instead to begin your replies.
  3793.  
  3794.          You can also have separate "Header" files for public and
  3795.          private messages.  1stReader will determine which file is
  3796.          used depending if you are replying to a public or private
  3797.          message.
  3798.  
  3799.                           HEADER.PUB - Public messages
  3800.                           HEADER.PRI - Private messages
  3801.  
  3802.          Sysops, this is a good candidate for your 1ST-TIME.ZIP files
  3803.  
  3804.  
  3805.  
  3806.  
  3807.  
  3808.  
  3809.                                     Page 56 
  3810.  
  3811.  
  3812.  
  3813.          Auto sensing dialog boxes
  3814.          -------------------------
  3815.  
  3816.          If you have defined the dialog boxes to use the same color as
  3817.          the current background, 1stReader switches to a WHITE
  3818.          background in the dialog box automatically so the box will
  3819.          stand out.  If your background is white (and you are using
  3820.          color) then light blue will be substituted.
  3821.  
  3822.  
  3823.  
  3824.          "Ok" and "Cancel" buttons
  3825.          -------------------------
  3826.  
  3827.          If you are using a mouse then 1stReader will place these
  3828.          mouse buttons inside keyboard dialog boxes.  They do not show
  3829.          up if you are not using a mouse.
  3830.  
  3831.  
  3832.  
  3833.          Attention John Hancock fans!
  3834.          ----------------------------
  3835.  
  3836.          1stReader always supports the famous "DOS:JH3" tagline.  This
  3837.          allows you to call John Hancock from inside 1stReader.  If
  3838.          you like to use a lot of taglines in the internal tagline
  3839.          manager, picking out that single "DOS:JH3" tagline could be a
  3840.          bear.
  3841.  
  3842.          Instead, create yourself a "picklist" for use at the tagline
  3843.          prompt when saving a message by arrowing into this field and
  3844.          pressing ALT+F8.  Use this entry for your picklist:
  3845.  
  3846.                                 TITLE=Taglines
  3847.                                 DOS:JH3
  3848.  
  3849.          Press [F8] to call up the picklist.  When you select
  3850.          "DOS:JH3" from the list 1stReader will call John Hancock
  3851.          automatically and pass the tagline to you.  1stReader
  3852.          supports the "DOS:" command in taglines.  If this string is
  3853.          found then 1stReader will shell to DOS and execute the
  3854.          command immediately after "DOS:".
  3855.  
  3856.  
  3857.  
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866.  
  3867.  
  3868.  
  3869.  
  3870.  
  3871.                                     Page 57 
  3872.  
  3873.  
  3874.  
  3875.          Specialized conference .BAT, .BTM, .CMD and .LST files
  3876.          ------------------------------------------------------
  3877.  
  3878.          If you create files using these extensions, but using the
  3879.          names of conferences, then these files are active when you
  3880.          press [F6] (for .BAT files), [F7] (or .CMD files) or [F8] (or
  3881.          .LST files).
  3882.  
  3883.          This lets you create specific files that only work when you
  3884.          have joined a particular conference.
  3885.  
  3886.  
  3887.  
  3888.          Support for DOOR.ID
  3889.          -------------------
  3890.  
  3891.          If 1stReader finds a DOOR.ID inside the QWK mail packet and
  3892.          the entry "CONTROLTYPE =" is found inside, then, when you add
  3893.          or drop conferences using 1stReader, it reverts back to the
  3894.          "old" method of writing one message at a time to add or drop
  3895.          the conference.   This method is provided for backwards
  3896.          compatibility with older mail systems.
  3897.  
  3898.  
  3899.  
  3900.          Downloading files
  3901.          -----------------
  3902.  
  3903.          If you download files from 1stReader's internal terminal
  3904.          module or from your favorite terminal program, 1stReader will
  3905.          automatically invoke the file manager and take you to your
  3906.          download subdirectory when you exit the terminal mode.
  3907.  
  3908.          This feature lets you manage the files you just downloaded in
  3909.          the online session.
  3910.  
  3911.  
  3912.  
  3913.          Longer signatures
  3914.          -----------------
  3915.  
  3916.          1stReader provides you with a "signature" field that will
  3917.          automatically place your name on the bottom of messages you
  3918.          enter in the reader.
  3919.  
  3920.          However, you may find you need more lines in your signature
  3921.          or you might like to incorporate graphics.  1stReader lets
  3922.          you use "SIG=<filespec>" as a signature.  This tells 1st to
  3923.          look for the file <filespec> in the BBS subdirectory or in
  3924.          the SYSTEM subdirectory.  If found, the file is imported
  3925.          automatically into your replies.
  3926.  
  3927.  
  3928.  
  3929.  
  3930.  
  3931.  
  3932.  
  3933.                                     Page 58 
  3934.  
  3935.  
  3936.  
  3937.          Multiple signatures
  3938.          -------------------
  3939.  
  3940.          Sometimes having only one signature can be a limitation.
  3941.          1stReader lets you have up to 100 signatures per system if
  3942.          you need them.  The trick is to use the Picklist system.
  3943.          Instead of entering your name in the signature field use the
  3944.          entry "NAMES.LST".  Then, press the ALT+F8 key to create the
  3945.          picklist.  Here is an example:
  3946.  
  3947.                                TITLE=Signatures
  3948.                                Sparky,Sparky
  3949.                                Qmail Support,Qmail Support
  3950.                                Long signature,SIG=NAME1
  3951.  
  3952.          When you save the message you'll be asked to select the
  3953.          signature you wish to use.  Notice the "SIG=NAME1" entry.  If
  3954.          you pick that entry 1stReader will use the file "NAME1" as
  3955.          your signature.
  3956.  
  3957.  
  3958.  
  3959.          Support for the "1ST" file
  3960.          --------------------------
  3961.  
  3962.          If 1stReader finds the file "1ST" inside a mail packet, it
  3963.          will display this file to the user immediately after the
  3964.          "Welcome" screen.
  3965.  
  3966.          This file is provided so sysops can pass information on to
  3967.          their offline mail users that might not apply to their
  3968.          regular "online" users.
  3969.  
  3970.  
  3971.  
  3972.          Automatic SuperShell
  3973.          --------------------
  3974.  
  3975.          If you have not turned SuperShell ON in Setup's "Switches"
  3976.          section and you attempt to shell to DOS with less than 125k
  3977.          of memory available, 1stReader will automatically invoke
  3978.          SuperShell for you.
  3979.  
  3980.  
  3981.  
  3982.  
  3983.  
  3984.  
  3985.  
  3986.  
  3987.  
  3988.  
  3989.  
  3990.  
  3991.  
  3992.  
  3993.  
  3994.  
  3995.                                     Page 59 
  3996.  
  3997.  
  3998.  
  3999.          Nonstandard serial ports
  4000.          ------------------------
  4001.  
  4002.          1stReader will support nonstandard COM3 and COM4 setups as
  4003.          long as they do not use the "high" interrupts.  1stReader
  4004.          defaults COM3: and COM4: to use the industry standard
  4005.          addresses, but you can override this by using the format:
  4006.  
  4007.                                Base Address,IRQ
  4008.  
  4009.  
  4010.          "Base Address" is the base address of the port, in
  4011.          hexadecimal.  "IRQ" is the interrupt request line value.  If
  4012.          your system uses the industry standard addresses simply use
  4013.          "3" or "4" in this field.
  4014.  
  4015.          Also note that 1stReader supports the "%4" parameter in the
  4016.          Zmodem upload and download commands too.  This parameter is
  4017.          replaced with the Base Address,IRQ value so QSZ can use the
  4018.          "portx=" command line parameter.
  4019.  
  4020.  
  4021.  
  4022.          New commands supported in DOOR.ID
  4023.          ---------------------------------
  4024.  
  4025.          1stReader will use these commands if found in a DOOR.ID file
  4026.          inserted into a QWK mail packet:
  4027.  
  4028.                                 MIXEDCASE = YES
  4029.                                 FIDOTAG = YES
  4030.  
  4031.          If "MIXEDCASE = YES" is found then the user will be allowed
  4032.          to address messages using upper and lower case.  If the
  4033.          string "FIDOTAG = YES" is found then messages left by
  4034.          1stReader will automatically use Fido-compliant taglines.
  4035.          You can use "Fido" taglines "on the fly" by including the
  4036.          string "@FIDO@" in your replies if you wish.  1stReader
  4037.          also automatically leaves Fido-compliant taglines if it finds
  4038.          a valid Fidonet address in the tagline of the original
  4039.          message.
  4040.  
  4041.          If you use a Fido-compatible tearline then 1stReader will
  4042.          search your tagline for any characters higher than ASCII 127
  4043.          and if found, replace them with periods.
  4044.  
  4045.  
  4046.  
  4047.          LIST is restricted
  4048.          ------------------
  4049.  
  4050.          You cannot list files that end with a .COM, .EXE, .OVL, .ZIP,
  4051.          .ARC, .ARJ, .LHA or .ZOO file extensions from within
  4052.          1stReader.
  4053.  
  4054.  
  4055.  
  4056.  
  4057.                                     Page 60 
  4058.  
  4059.  
  4060.  
  4061.          Robocomm-named packets supported
  4062.          --------------------------------
  4063.  
  4064.          1stReader will automatically find mail packets that have been
  4065.          named using Robocomm's "nPACKET.QWK" format.  "n" is the
  4066.          packet number received for the bulletin board system.
  4067.  
  4068.  
  4069.          QMAIL4 is assumed
  4070.          -----------------
  4071.  
  4072.          If you forget to enter the DOOR command in the bulletin
  4073.          board's dialing entry then 1stReader will default to
  4074.          "QMAIL4".
  4075.  
  4076.  
  4077.  
  4078.          Three button mice users
  4079.          -----------------------
  4080.  
  4081.          If you use a three button mouse you'll find that clicking on
  4082.          the middle mouse button will "ping pong" the mouse cursor
  4083.          between the upper screen and mouse buttons on the bottom of
  4084.          the screen.  This feature works in the...
  4085.  
  4086.                               File management screen
  4087.                               List messages screen
  4088.                               Mail packets screen
  4089.  
  4090.  
  4091.  
  4092.          Using SPACE BAR and SHIFT+ENTER
  4093.          -------------------------------
  4094.  
  4095.          1stReader supports use of the space bar as a method to move
  4096.          through a mail packet.  You can use nothing but the space to
  4097.          read messages once you have selected the "Read" button from
  4098.          the "Read messages" screen.
  4099.  
  4100.          If you are using 1stReader on a laptop check out the
  4101.          SHIFT+ENTER key combo.  On laptops it can be hard finding
  4102.          that PgDn key.  If you hold down SHIFT while pressing the
  4103.          ENTER key 1stReader will think you pressed the PgDn key.
  4104.  
  4105.  
  4106.  
  4107.  
  4108.  
  4109.  
  4110.  
  4111.  
  4112.  
  4113.  
  4114.  
  4115.  
  4116.  
  4117.  
  4118.  
  4119.                                     Page 61 
  4120.  
  4121.  
  4122.  
  4123.          Protect those 'questionable' taglines
  4124.          -------------------------------------
  4125.  
  4126.          If you place a question mark as the first character in a
  4127.          tagline, 1stReader will ask you to confirm use of the tagline
  4128.          in a message.
  4129.  
  4130.          This feature helps protect you from using 'questionable'
  4131.          taglines you might use in personal messages but not in public
  4132.          messages.
  4133.  
  4134.  
  4135.  
  4136.          'Hotkey' your .CMD and .LST entries
  4137.          -----------------------------------
  4138.  
  4139.          You can add 'hotkey' support for your .CMD and .LST files by
  4140.          placing the character "»" (ASCII 175) directly *IN FRONT* of
  4141.          the character you wish to use for the hotkey entry.
  4142.          1stReader will strip the "»" character from the string when
  4143.          it is returned back to you.
  4144.  
  4145.  
  4146.  
  4147.          Entry fields are accessible
  4148.          ---------------------------
  4149.  
  4150.          Entry fields are accessible through the @API$(xxx) function.
  4151.          All field entries are numbered starting with field #1 at the
  4152.          top of your screen.  The @API$(xxx) function lets you access
  4153.          the first field by using @API$(201).  The second field entry
  4154.          is accessible by using @API$(202), etc.
  4155.  
  4156.          This feature lets you pass field entries that are on the
  4157.          current screen to a shelled application.  Remember that these
  4158.          functions only return the field entries for the 'current'
  4159.          screen.  If the current screen does not contain any field
  4160.          entries, the @API$(xxx) function returns a null string.
  4161.  
  4162.  
  4163.  
  4164.  
  4165.  
  4166.  
  4167.  
  4168.  
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.  
  4177.  
  4178.  
  4179.  
  4180.  
  4181.                                     Page 62 
  4182.  
  4183.  
  4184.  
  4185.          Sysops can use Qmail Door in DOS using 1stReader
  4186.          ------------------------------------------------
  4187.  
  4188.          If you own a copy of our Qmail Door you can have 1stReader
  4189.          scan for new mail and upload replies by using the $$MAIL.BAT
  4190.          and $$REPLY.BAT files.
  4191.  
  4192.          Your $$MAIL.BAT file should read:
  4193.  
  4194.             @echo off
  4195.             cls
  4196.             c:
  4197.             cd \pcb
  4198.             PCBOARD /USERSYS;<first>;<last>;PWRD:<password>;TPA:QMAIL4
  4199.             c:\pcb\qm4\qmail4 U;D;Y;G
  4200.             PCBOARD /READSYS
  4201.  
  4202.  
  4203.          Your $$REPLY.BAT file should read:
  4204.  
  4205.             @echo off
  4206.             cls
  4207.             c:
  4208.             cd \pcb
  4209.             PCBOARD /USERSYS;<first>;<last>;PWRD:<password>;TPA:QMAIL4
  4210.             c:\pcb\qm4\qmail4 U;G
  4211.             PCBOARD /READSYS
  4212.  
  4213.          <first> is your first name used to log into your PCBoard
  4214.          system.  <last> is your last name.  <password> is the
  4215.          password you use to log into your PCBoard system.  You might
  4216.          need to edit these batch files to change the location of your
  4217.          PCBoard subdirectory.  These batch files only work with
  4218.          PCBoard 15.0.
  4219.  
  4220.          Simply copy these batch files into the 1stReader BBS
  4221.          subdirectory for your system and when you later select your
  4222.          system from 1stReader's menu, you'll go through DOS to
  4223.          transfer your mail packets instead of calling your system.
  4224.  
  4225.  
  4226.  
  4227.          Control characters in .LST files and KEYBOARD.$$$
  4228.          -------------------------------------------------
  4229.  
  4230.          1stReader lets you use control characters in your picklists
  4231.          and in KEYBOARD.$$$.  If you would like to force a carriage
  4232.          return you can use "^M" at the end of the entry.
  4233.  
  4234.          Remember that when you use picklists and KEYBOARD.$$$ from a
  4235.          keyboard entry field, the carriage return is automatically
  4236.          supplied by 1stReader.  This feature lets you force control
  4237.          characters while in the internal editor.
  4238.  
  4239.  
  4240.  
  4241.  
  4242.  
  4243.                                     Page 63 
  4244.  
  4245.  
  4246.  
  4247.          $$DIAL.SCR supported
  4248.          --------------------
  4249.  
  4250.          This script file can be used to dial a bulletin board system
  4251.          in place of 1stReader's internal dialer.  The idea behind
  4252.          supporting this script file is to allow users to make long
  4253.          distance calls using SPRINT, MCI or other long distance
  4254.          carriers that require additional access codes.
  4255.  
  4256.          Placing $$DIAL.SCR inside the SCRIPTS subdirectory will force
  4257.          1stReader to use the script file everytime it calls a system,
  4258.          regardless if it is long distance or not.  We recommend that
  4259.          you place this file inside the individual BBS system
  4260.          subdirectory for better control.
  4261.  
  4262.  
  4263.  
  4264.          Addition bulletin board systems supported
  4265.          -----------------------------------------
  4266.  
  4267.          1stReader now has the ability to use different script files
  4268.          when calling bulletin board systems.  This means that if you
  4269.          are calling a Wildcat!  system you can tell 1stReader to use
  4270.          the Wildcat! scripts.  By default, 1stReader uses the
  4271.          PCBoard/Qmail Door script files.
  4272.  
  4273.  
  4274.  
  4275.          Carriage returns in the modem initialization string
  4276.          ---------------------------------------------------
  4277.  
  4278.          You can use the character "{" in your modem init strings to
  4279.          indicate where a carriage return is to be inserted.
  4280.  
  4281.  
  4282.  
  4283.          SERVICES.NEW
  4284.          ------------
  4285.  
  4286.          Sysops can include a file named SERVICES.NEW in the QWK mail
  4287.          packets and 1stReader will display it when the user selects
  4288.          the 'Services' button.  This file is intended to give
  4289.          1stReader users an introduction to the services provided.
  4290.  
  4291.  
  4292.  
  4293.  
  4294.  
  4295.  
  4296.  
  4297.  
  4298.  
  4299.  
  4300.  
  4301.  
  4302.  
  4303.  
  4304.  
  4305.                                     Page 64 
  4306.  
  4307.  
  4308.  
  4309.          Clear all entry fields with one keystroke
  4310.          -----------------------------------------
  4311.  
  4312.          Sometimes it might handy to clear out ALL of the entry fields
  4313.          on a screen at one time.  The ZIPPY scan screen is a good
  4314.          example - you might have saved default values but this time
  4315.          you want to search for totally different keywords.  If you
  4316.          wish to clear out all of the entry fields at one time press
  4317.          the CTRL key and while holding it down also press the ESC
  4318.          key.  All of the entry field values will be erased.
  4319.  
  4320.  
  4321.  
  4322.          QSZ supports 'crash-recovery'
  4323.          -----------------------------
  4324.  
  4325.          If you were downloading a file from a bulletin board system
  4326.          and the download was interrupted before the transmission was
  4327.          completed, you can simply request that the BBS send you the
  4328.          file and 1stReader will resume the transmission where it left
  4329.          off.
  4330.  
  4331.          Note that 'crash recovery' is not supported while downloading
  4332.          QWK mail packets.
  4333.  
  4334.  
  4335.  
  4336.          Assign different dialing prefixes to telephone numbers
  4337.          ------------------------------------------------------
  4338.  
  4339.          Some bulletin board systems use different 'hunt groups' where
  4340.          one group requires use of dialing prefix #1 and the other
  4341.          groups might require prefix #2.  You can tell 1stReader which
  4342.          prefix to use by using "Px nnn-nnnn" as the telephone number.
  4343.          For example, "P2 555-1212" would tell 1stReader to use
  4344.          dialing prefix #2 for this telephone number even if you
  4345.          assigned prefix #1 to the system.
  4346.  
  4347.          If you wish you can also tell 1stReader to execute a script
  4348.          file for ONE particular number before dialing the number.  To
  4349.          do this you need to enter the name of the script file (.SCR
  4350.          is assumed) in the phone entry field.
  4351.  
  4352.          Example: "SCRIPT|555-1212"
  4353.  
  4354.          This number would force 1stReader to execute "SCRIPT.SCR" (if
  4355.          it exists) before dialing "555-1212" every time.
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.  
  4363.  
  4364.  
  4365.  
  4366.  
  4367.                                     Page 65 
  4368.  
  4369.  
  4370.  
  4371.          Access interrupts from DOS command line functions
  4372.          -------------------------------------------------
  4373.  
  4374.          You can tell 1stReader to access a system interrupt instead
  4375.          of a DOS command.  The idea behind this feature is to support
  4376.          any future TSRs that might be written to help the way
  4377.          1stReader operates.
  4378.  
  4379.          Essentially, this gives 1stReader a 'DLL' capability.  For
  4380.          example, a TSR could be loaded before running 1stReader that
  4381.          lets the reader display a message in a totally different
  4382.          manner than the method built into 1stReader now.
  4383.  
  4384.          This is a feature that was available in our legendary 'QPro'
  4385.          offline mail reader we wrote back in 1989 (but never made it
  4386.          to market).  We used it to add some rather interesting
  4387.          features to QPro later and we wanted to incorporate the same
  4388.          support for future use in 1stReader.
  4389.  
  4390.          Here's how you do it.  If the DOS command starts with "INT:"
  4391.          then 1stReader knows we're going to call an interrupt instead
  4392.          of shelling to DOS.  You can pass register data on the
  4393.          command line like this:
  4394.  
  4395.                    INT:$80 AX:$0601 BX:$0700 CX:$0101 DX:$1950
  4396.  
  4397.          Notice that "$" before a number indicates the number is a
  4398.          hexidecimal number.  If the "$" is missing then the number is
  4399.          a decimal value.  The reader will then execute the interrupt
  4400.          and return the value of register AL in API(234).  Also, all
  4401.          register pairs are loaded into the API so they can be tested
  4402.          after execution of the  interrupt.
  4403.  
  4404.          You can also access an interrupt from any batch file by using
  4405.          the command:
  4406.  
  4407.                :1ST: INT:$80 AX:$0601 BX:$0700 CX:$0101 DX:$1950
  4408.  
  4409.          The interrupt will execute and then the batch file can
  4410.          perform any test on any of the register pairs (which are
  4411.          loaded back into the API).
  4412.  
  4413.          1STTEXT record #350 has been reserved to hold an interrupt
  4414.          call that is executed immediately after loading a message.
  4415.          Record #351 has been reserved to hold an interrupt call that
  4416.          is executed just before a message is displayed on your
  4417.          screen.  #351 can be used to display a message in a totally
  4418.          different manner from 1stReader.  You can pass back a
  4419.          keyboard scan code in the AL register to the program.  If
  4420.          AL=0 then the message is displayed normally.  Otherwise, AL
  4421.          contains the scancode and the reader uses it as if you
  4422.          pressed the key in 1stReader.
  4423.  
  4424.  
  4425.  
  4426.  
  4427.  
  4428.  
  4429.                                     Page 66 
  4430.  
  4431.  
  4432.  
  4433.          You can ONLY address interrupts $80 through $E9.  You cannot
  4434.          call any BIOS or DOS interrupt.  Note that interrupts can
  4435.          ONLY be called from CMD and batch files (or recs #350/#351 in
  4436.          1STTEXT) on YOUR system.
  4437.  
  4438.  
  4439.  
  4440.          NAPLPS support is now available
  4441.          -------------------------------
  4442.  
  4443.          1stReader can support practically *ANY* file type.  To
  4444.          illustrate this feature, 1stReader now supports NAPLPS files.
  4445.          We've provided a NAPLPS kit on the distribution diskette
  4446.          (file named NAPLPS.ZIP) that easily installs into 1stReader
  4447.          and provides your system with the ability to display NAPLPS
  4448.          files from the file manager and *anywhere* a file is
  4449.          displayed.  You can now include NAPLPS files in QWK mail
  4450.          packets too!
  4451.  
  4452.          NAPLPS is a graphics standard that was created 10 years ago.
  4453.          You see it used often on cable TV systems.  It lets fairly
  4454.          complex graphics images be transmitted in very small files.
  4455.          While they do not have the resolution offered by GIF files
  4456.          they can occupy 1/10th the disk space, or even less.
  4457.  
  4458.          You can study the NAPLPS.ZIP kit to see how we installed
  4459.          NAPLPS support.  It is VERY easy to add support into
  4460.          1stReader for virtually any file type.
  4461.  
  4462.  
  4463.  
  4464.          Make temporary changes to your 1stReader setup
  4465.          ----------------------------------------------
  4466.  
  4467.          If you have ADVANCED FEATURES turned ON then 1stReader will
  4468.          keep the changes you made 'in memory' and not reload the
  4469.          original settings if you decide you do not want to
  4470.          permanently save the changes.
  4471.  
  4472.  
  4473.  
  4474.          Tagline support from the terminal section
  4475.          -----------------------------------------
  4476.  
  4477.          You can add this entry into your $$1ST.CMD file:
  4478.  
  4479.                       Manual tag,MACRO=---^M ■ Manual tagline^M
  4480.  
  4481.          When you are in the terminal mode and press the F7 key and
  4482.          select "Manual tag" from the menu, presto!  You get a
  4483.          tagline!
  4484.  
  4485.  
  4486.  
  4487.  
  4488.  
  4489.  
  4490.  
  4491.                                     Page 67 
  4492.  
  4493.  
  4494.  
  4495.          The 'CONFIRMATION' field
  4496.          ------------------------
  4497.  
  4498.          This field is used for you to enter any information the BBS
  4499.          might require to confirm it is you who is calling.  For
  4500.          example, WildCat systems will sometimes ask you to enter your
  4501.          birthday to confirm it is you.  Other systems might ask for
  4502.          your mother's maiden name.  This field is limited to 13
  4503.          characters.
  4504.  
  4505.          1stReader also supports the #CONFIRM@ script variable.  This
  4506.          variable contains the information held in the confirmation
  4507.          screen so it can be transmitted back to the bulletin board
  4508.          system when requested.
  4509.  
  4510.  
  4511.  
  4512.          The .COPY command
  4513.          -----------------
  4514.  
  4515.          Whenever long message replies are split up, sometimes it
  4516.          might be nice to have the beginning of the message copied
  4517.          into the extra messages created by 1stReader.  For example,
  4518.          if your long message contains a Usenet address header, it
  4519.          would be nice to have 1stReader automatically copy the header
  4520.          into the extra messages it chops up for you.
  4521.  
  4522.          Place ".COPY" on a line by itself in your reply and 1stReader
  4523.          will copy any text above it into the 'split' messages
  4524.          automatically.  The actual ".COPY" does not get saved with
  4525.          your reply, so if you later re-edit the message, you must add
  4526.          it back in yourself.  A must-have for heavy Usenet users!!!
  4527.  
  4528.          NOTE!  You may copy only up to 25 lines of your message.
  4529.  
  4530.  
  4531.  
  4532.          1stReader automatically aborts a script...
  4533.          ------------------------------------------
  4534.  
  4535.          If you are dialing a system and get three 'Call Failed'
  4536.          messages in a row without a 'Busy' being encountered, then
  4537.          1stReader aborts calling the bulletin board system figuring
  4538.          that it is not answering.
  4539.  
  4540.  
  4541.  
  4542.          Picklist notices
  4543.          ----------------
  4544.  
  4545.          1stReader will only display the "F8 = Picklist" if you are in
  4546.          novice mode.  It takes some disk accessing to figure out if a
  4547.          picklist exists and we reasoned that if you're an expert, you
  4548.          know where the picklists are anyhow.
  4549.  
  4550.  
  4551.  
  4552.  
  4553.                                     Page 68 
  4554.  
  4555.  
  4556.  
  4557.          Scroll quickly through large messages
  4558.          -------------------------------------
  4559.  
  4560.          You can scroll 100 lines at a time (both up and down) within
  4561.          one message by holding down the CTRL key at the same time you
  4562.          press PgUp or PgDn.
  4563.  
  4564.  
  4565.  
  4566.          Restricting some .CMD functions
  4567.          -------------------------------
  4568.  
  4569.          You can add the term <BBS> into any CMD command file and if
  4570.          you have not selected a BBS yet from the opening menu,
  4571.          1stReader will not display the command in the command menu.
  4572.  
  4573.          Example: View capture file,#API$(28)#API$(10).CAP <BBS>
  4574.  
  4575.          This entry means that if you haven't selected a BBS yet then
  4576.          this command will not be displayed in the command menu.  You
  4577.          can also use the term <ADV> in your CMD files.  If the user
  4578.          has not turned on the "Advanced Features" switch then any
  4579.          commands that include <ADV> will not be displayed in the
  4580.          menu.
  4581.  
  4582.  
  4583.  
  4584.          Locate a file inside your system's PATH statement
  4585.          -------------------------------------------------
  4586.  
  4587.          1stReader supports the "<PATH>" variable in filespecs.  This
  4588.          variable tells 1stReader to search the system's PATH variable
  4589.          until it locates the file.
  4590.  
  4591.          Example: "<PATH>COMMAND.COM"
  4592.  
  4593.          This entry would tell 1stReader to search all subdirectories
  4594.          in the "PATH" DOS environment variable until COMMAND.COM was
  4595.          found.  1stReader then sets the full filespec to this name.
  4596.          (C:\COMMAND.COM)
  4597.  
  4598.  
  4599.  
  4600.          1st moves files automatically into the BBS subdirectory
  4601.          -------------------------------------------------------
  4602.  
  4603.          1stReader moves the WELCOME, BBS news and GOODBYE screens
  4604.          into the BBS subdirectories.  This lets offline mail systems
  4605.          only send these files out when they are updated.  This means
  4606.          a BBS does not need to send a WELCOME.GIF with every mail
  4607.          packet downloaded from a mail system.  The file is
  4608.          transferred once and as long as it is not updated by the
  4609.          sysop, it never needs to be sent again.
  4610.  
  4611.  
  4612.  
  4613.  
  4614.  
  4615.                                     Page 69 
  4616.  
  4617.  
  4618.  
  4619.          Disconnect immediately after an upload or download
  4620.          --------------------------------------------------
  4621.  
  4622.          1stReader supports the CTRL+PGUP and CTRL+PGDN keystrokes
  4623.          while in the terminal mode.  These keystrokes work just like
  4624.          PGUP and PGDN do (upload or download a file) but when you
  4625.          hold down the CTRL key at the same time it tells 1stReader to
  4626.          hangup the connection after returning from QSZ.
  4627.  
  4628.          How many times have you started a long file transfer to a
  4629.          bulletin board system and didn't want to have to wait for the
  4630.          transfer to be over in order to disconnect from the system?
  4631.          Just use this feature and after the file transfer is finished
  4632.          you will automatically be disconnected from the system.
  4633.  
  4634.  
  4635.  
  4636.          Modify the 1stReader API after a DOS shell
  4637.          ------------------------------------------
  4638.  
  4639.          You could always read the 1stReader API from a DOS call or
  4640.          use the @variables to display contents of the API.  Now you
  4641.          can also update the API in a DOS shell by creating a file
  4642.          named API-NEW.$$$.  This file contains one entry per line,
  4643.          like this:
  4644.  
  4645.                       @API$(nnn)="xxxxxxxxxxx"    ' Strings
  4646.                       @API&(nnn)=xxxx             ' Long integer
  4647.                       @API(nnn)=xxxx              ' Integer
  4648.  
  4649.          1stReader also adds support for the @PASS(nn) variable as
  4650.          well.  The @PASS variables are setup to let 3rd party
  4651.          programmers pass info from one application to another through
  4652.          the 1stReader API itself.  Up to 20 variables are allocated
  4653.          for use.
  4654.  
  4655.  
  4656.  
  4657.          Usenet message headers
  4658.          ----------------------
  4659.  
  4660.          1stReader will display up to 50 characters of the FROM and
  4661.          SUBJECT fields from a Usenet message header.  If the fields
  4662.          are longer than 50 characters you can scroll the headers left
  4663.          or right with the message text.
  4664.  
  4665.          1stReader now automatically detects a Usenet sourced message
  4666.          from any gateway (as long as a valid "Message-Id" field was
  4667.          found) and will use USENET.HDR in any new message or reply
  4668.          you enter automatically.
  4669.  
  4670.  
  4671.  
  4672.  
  4673.  
  4674.  
  4675.  
  4676.  
  4677.                                     Page 70 
  4678.  
  4679.  
  4680.  
  4681.          Alias signatures
  4682.          ----------------
  4683.  
  4684.          If you do not use an alias name in your replies then API(195)
  4685.          is always set to "1".  It can be set to "2" if the second
  4686.          alias entry was used to save the message or "3" if the third
  4687.          was used.
  4688.  
  4689.          You can use this variable in your signature filespec so you
  4690.          can have 1stReader point to different signatures based on the
  4691.          alias entry used to save the message.  For example:
  4692.  
  4693.                                 SIG=NAME.#API(195)
  4694.  
  4695.          would let you use "NAME.1" for your normal signature,
  4696.          "NAME.2" for alias #2's signature and "NAME.3" for alias #3's
  4697.          signature.
  4698.  
  4699.  
  4700.  
  4701.          The virtual keyboard
  4702.          --------------------
  4703.  
  4704.          If you click a mouse button and the mouse is positioned in
  4705.          the upper left corner of the screen, the virtual keyboard
  4706.          will appear.  This was done to help disabled users with one
  4707.          finger select the virtual keyboard.  You can also access the
  4708.          virtual keyboard by pressing the LEFT and RIGHT mouse buttons
  4709.          at the SAME time.
  4710.  
  4711.  
  4712.  
  4713.          The EXTRA FEATURE button
  4714.          ------------------------
  4715.  
  4716.          1stReader supports the $$EXTRA.CMD command menu.  It would be
  4717.          nice to offer sysops a way to add extra commands to the
  4718.          reader to help further its functions.  While pressing F7 is
  4719.          always available, novices might not know about it.  So an
  4720.          "Extra features" mouse button has been added to the "Read
  4721.          Messages" menu.
  4722.  
  4723.          If you click on this button 1stReader will look for the
  4724.          $$EXTRA.CMD command menu file (which is designed just like
  4725.          any other command menu file).  1stReader will look in the BBS
  4726.          subdirectory first for the file, and if not found, 1st will
  4727.          look in the \1ST subdirectory.  If $$EXTRA.CMD is not found
  4728.          then $$1ST.CMD is used instead.
  4729.  
  4730.          Using the additional add-in features found in 1stReader you
  4731.          can add just about anything to the system now.  New features
  4732.          can look like they are an integrated part of 1stReader.
  4733.  
  4734.  
  4735.  
  4736.  
  4737.  
  4738.  
  4739.                                     Page 71 
  4740.  
  4741.  
  4742.  
  4743.          Display files directly from a .CMD file
  4744.          ---------------------------------------
  4745.  
  4746.          1stReader supports the "DISPLAY=<filespec>" statement in .CMD
  4747.          menu files.  If you use this command in place of a DOS
  4748.          command then 1stReader will display <filespec> on your screen
  4749.          and wait for you to press any key to continue.  This feature
  4750.          supports .ASC, .ASC, .BIN, .B1N and .GIF files.  This feature
  4751.          is ideal if you wish to add a 'boss screen' to 1stReader.
  4752.  
  4753.  
  4754.  
  4755.          '$<macro>' now available in ANSI files and messages
  4756.          ---------------------------------------------------
  4757.  
  4758.          1stReader can now use the following commands from inside text
  4759.          files or messages to do the following commands.  Use only one
  4760.          command per line.
  4761.  
  4762.             $BLINK ON/OFF        $BLINK OFF will let 1stReader use
  4763.                                  high intensity backgrounds in ANSI
  4764.                                  messages.  $BLINK ON turns this
  4765.                                  capability off and turns blinking
  4766.                                  back on.
  4767.  
  4768.             $MUSIC ON/OFF        Turns music ON or OFF.  Note that
  4769.                                  this switch DOS NOT change the switch
  4770.                                  in SETUP that controls ANSI music.
  4771.                                  That switch MUST be turned on for
  4772.                                  these commands to work.  These
  4773.                                  commands reset the internal ANSI
  4774.                                  emulator's music flag so if the user
  4775.                                  pressed ESC to turn music off the
  4776.                                  file can reset the switch, or turn it
  4777.                                  off.
  4778.  
  4779.             $TOP xx              These commands set the top, bottom,
  4780.             $BOTTOM xx           left and right margins for ANSI
  4781.             $LEFT xx             screens.  Note that you must not
  4782.             $RIGHT xx            exceed the margins for  physical
  4783.                                  screen on your system.
  4784.  
  4785.             $LSET nn <text>      These commands will take <text> and
  4786.             $RSET nn <text>      set itinto a blank string that is
  4787.             $CENTER nn <text>    "nn" characters long.  $LSET will set
  4788.                                  <string> to the left side of the
  4789.                                  blank string.  $RSET sets <string> to
  4790.                                  the right side of the blank string.
  4791.                                  $CENTER will center <string> into the
  4792.                                  blank string.
  4793.  
  4794.             $LOCATE row,col      Positions the cursor to row,col on
  4795.                                  the screen.
  4796.  
  4797.  
  4798.  
  4799.  
  4800.  
  4801.                                     Page 72 
  4802.  
  4803.  
  4804.  
  4805.             $GIF <filespec>      Displays a GIF file.
  4806.  
  4807.             $NAP <filespec>      Displays a NAPLPS file (if NAPLPS is
  4808.                                  installed).
  4809.  
  4810.             $MME <filespec>      Plays a .MME, .VOC or .CMF file
  4811.                                  through your sound card (if
  4812.                                  multimedia is turned ON).
  4813.  
  4814.  
  4815.  
  4816.          Sensing color attributes
  4817.          ------------------------
  4818.  
  4819.          1stReader support the "@x??" color code.  If "??" is used
  4820.          then 1stReader uses the current color attribute on the screen
  4821.          at the point where the text is going to be displayed.
  4822.  
  4823.  
  4824.  
  4825.          The NEWS.LST file
  4826.          -----------------
  4827.  
  4828.          After displaying the BBS news, 1stReader will look for this
  4829.          file and read it if found.  The file contains other filenames
  4830.          that should be displayed to the user.  It can also contain
  4831.          DOS commands if the entries begin with the string "DOS:".
  4832.  
  4833.          This file works well for new user setups - the sysop can even
  4834.          include programs that give the user a guided tour of their
  4835.          system automatically.
  4836.  
  4837.  
  4838.  
  4839.          The ATTACHED.LST file
  4840.          ---------------------
  4841.  
  4842.          1stReader will look for an ATTACHED.LST file inside a QWK
  4843.          mail packet and moves the attached files from the WORK area
  4844.          into the DOWNLOADS subdirectory.
  4845.  
  4846.  
  4847.  
  4848.          Save some disk space
  4849.          --------------------
  4850.  
  4851.          If you wish to save 124,504 bytes of disk space you can
  4852.          delete the 1ST.B&W file if you always have the "Color
  4853.          monitor" switch turned ON.  If you always use monochrome
  4854.          screens then you can delete 1ST.CLR instead.
  4855.  
  4856.  
  4857.  
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.                                     Page 73 
  4864.  
  4865.  
  4866.  
  4867.          The INSTALL module
  4868.          ------------------
  4869.  
  4870.          The 1stReader install program (INSTALL.EXE) is much more than
  4871.          just a simple installation program.  It has its own 90
  4872.          command script langague that lets you program interactive
  4873.          presentations, menus and all sorts of applications.
  4874.  
  4875.          Click on the "1stTutor" button from the opening menu to see a
  4876.          demonstration of INSTALL's capabilities.  See "INSTALL.DOC"
  4877.          for a complete list of commands supported.
  4878.  
  4879.  
  4880.  
  4881.          Creating offline help for bulletin board systems
  4882.          ------------------------------------------------
  4883.  
  4884.          1stReader can access help for a bulletin board system while
  4885.          the user is in the terminal mode.
  4886.  
  4887.          If the user presses the [F10] key from the keyboard then the
  4888.          reader searches for the file <name>.INS or <name>.HLP
  4889.          (<name> is the name of the script used to call the bulletin
  4890.          board system).  If <name>.INS is located then 1stReader
  4891.          shells to the INSTALL program to run the help file.
  4892.          Otherwise, <name>.HLP is displayed from within 1stReader.
  4893.  
  4894.          Sysops can create their own custom HELP files by copying them
  4895.          into their .BBS files.  1stReader will automatically install
  4896.          these files when reading the .BBS files.
  4897.  
  4898.  
  4899.  
  4900.  
  4901.  
  4902.  
  4903.  
  4904.  
  4905.  
  4906.  
  4907.  
  4908.  
  4909.  
  4910.  
  4911.  
  4912.  
  4913.  
  4914.  
  4915.  
  4916.  
  4917.  
  4918.  
  4919.  
  4920.  
  4921.  
  4922.  
  4923.  
  4924.  
  4925.                                     Page 74 
  4926.  
  4927.  
  4928.  
  4929.